Variables y matrices de PowerShell

0 Comments

en el artículo anterior, denominado PowerShell Scripting Tutorial for Beginners, exploramos cómo usar la consola de PowerShell para ejecutar scripts y aprendimos qué son los cmdlets, cómo obtener sus propiedades y cómo usar canalizaciones para pasar datos de un cmdlet a otro.

en este artículo, pasaremos a variables y matrices, incluyendo lo que son y cómo podemos crearlas, eliminarlas y cambiarlas.,i>list variables

  • Set variable
  • Get variable
  • Print variable
  • Clear variable
  • Remove variable
  • matrices PowerShell
    • lista de matrices
    • Índice de matrices
    • matrices multidimensionales
  • Ejemplos de matrices PowerShell
    • Sort array
    • Add to array
    • array length
    • remove item from array
    • array contains
    • clear array
    • print array
    • loop through an array
  • PowerShell variables

    una variable es una unidad de memoria en la que se almacenan los valores., Una variable en PowerShell comienza con «dollar» (signo de dólar) y su nombre puede contener letras, números y guiones bajos. Para asignar un valor a una variable, utilizamos el operador»=». Para mostrar el valor de una variable, simplemente ingrese la variable.,

    Si usted agrega un número a una cadena, el número se convierte automáticamente en una cadena:

    $var1 = "Netwrix"$var2 = 2018$var3 = $var1 + $var2$var3

    Tipos de Variables

    El PowerShell tipo de variable se establece automáticamente en función del valor que se le asigne, pero también se puede asignar el tipo de forma manual:

    $var1 = "Netwrix"

    Para averiguar qué tipo de una variable, se utiliza el «GetType ()» parámetro:

    $var1 = "Netwrix"$var1.GetType().FullName

    Como podemos ver, nuestra $var1 variable tiene el Sistema».,String » type.

    Aquí hay descripciones de todos los tipos de variables de PowerShell:

    probablemente ya entendió que puede escribir en la variable no solo algún valor definido y notó el sistema de clases.Objeto en la tabla. En esta variable puede escribir el resultado de cualquier cmdlet.

    ámbito de la Variable

    el ámbito de la variable en PowerShell puede ser local o global. De forma predeterminada, una variable tiene un ámbito local., Una variable está limitada por su ámbito actual; por ejemplo, una variable local puede estar disponible en una función o script actual, mientras que una variable global está activa durante toda la sesión de PowerShell actual. Para indicar una variable global, utilice el formato Global Global: variable = value, como se ilustra en el siguiente comando:

    $Global:var4 = 12

    ejemplos de variables de PowerShell

    list variables

    para enumerar todas las variables disponibles actuales, ejecute el comando ls variable:*., Aquí hay un ejemplo de la salida:

    establecer variable

    puede crear una variable simplemente asignándole un valor. Por ejemplo, el comando var var4 = «variableexample» crea una variable llamada var var4 y le asigna un valor de cadena. Las comillas dobles (» «) indican que se está asignando un valor de cadena a la variable.

    Get variable

    esto es muy similar al comando list variable, simplemente usando otro cmdlet:

    Get-Variable | Out-String

    imprimir variable

    puede generar una variable a .txt, .archivo csv o HTML.

    para escribir a .,archivo txt, utilice el comando Out-File:

    $var5 = "Hello World!"$var5 | Out-File C:\scripts\Hello_World.txt

    para exportar datos a a .,»d2d13912ee»>

    Y a escribir a un archivo HTML, el uso de la ConvertTo-comandos de Html:

    $var6 = Get-Process$var6 | ConvertTo-Html -Property Name, Path > C:\scripts\processes.html

    Para leer un archivo que hemos exportado, que use el cmdlet Get-Content:

    Get-Content C:\scripts\processes.csv

    Claro variable

    Para borrar el contenido de una variable, utilice el cmdlet Clear-Variable:

    Clear-Variable -name var6 #without $

    Quitar variable

    Para eliminar completamente una variable, utilice el Quitar Variable cmdlet:

    Remove-Variable -name var6 #without $

    PowerShell Matrices

    Una matriz es un tipo de una variable., Es un conjunto de componentes (elementos de matriz) dispuestos en un orden determinado. Los elementos de la matriz se numeran secuencialmente, y se accede a un elemento utilizando su número de índice.

    al crear matrices, tenga en cuenta el comportamiento predeterminado de PowerShell. Si crea una matriz con varios elementos, PowerShell creará una matriz como desee. Por ejemplo, coloque algunos números en una matriz y luego verifique el tipo de datos de la variable:

    $array1 = 1, 2, 3$array1.GetType()

    como puede ver, en este caso, PowerShell creó una matriz (System.Matriz).,

    sin embargo, si pone solo un valor en una variable, PowerShell no creará una matriz:

    $array1 = 1$array1.GetType()

    por supuesto, no siempre puede decir de antemano cuántos objetos se recibirán como resultado de la ejecución de un comando en particular, por lo que necesita tener código que siempre tratará el resultado como una matriz.

    Puede hacer esto de muchas maneras. Por ejemplo, puede utilizar el operador»,». Si se usa una coma como operador binario, entonces se crea una matriz normal; si se usa como operador unario, la matriz tiene solo un elemento., Por ejemplo, aquí es cómo podemos obtener una matriz que consiste en un elemento:

    $array1 = ,1$array1.GetType()

    alternativamente, puede especificar explícitamente el tipo de datos para una variable:

    ]$array1 = 1$array1.GetType()

    finalmente, también puede crear una matriz utilizando el operador de subexpresión «@», que forma una matriz incluso si no se especifican objetos. Es muy conveniente inicializar una variable como una matriz, y luego agregar objetos a ella sin preocuparse por su número.,

    $array3 = @()$array3.GetType()

    tenga en cuenta que cada elemento de una matriz tiene su propio tipo de datos, y el objeto type le permite agregar cualquier valor a la matriz. Si es necesario, puede restringir los miembros del array a un tipo de datos específico – entonces está creando un «array escrito»., Por ejemplo, puede especificar que los elementos de la matriz deben ser valores enteros:

    ]$array1 = 1$array1.GetType()

    y, por lo tanto, definimos los procesos del sistema como miembros de la matriz:

    ]$array1 = Get-Process$array1.GetType()

    lista de matrices

    o busque una matriz con frecuencia, puede usar la clase ArrayList, que está diseñada para permitirle agregar, eliminar y buscar fácilmente elementos en ella:

    $array3 = New-Object System.Collections.ArrayList

    array index

    un índice en la matriz es un valor, normalmente un entero numérico utilizado para identificar y hacer referencia a un elemento de matriz., Los índices de matriz comienzan en cero o uno, dependiendo del lenguaje de programación. Las matrices de Windows PowerShell están basadas en cero, por lo que para referirse al primer elemento de la matriz var var3 («elemento cero»), escribiría $var3 .

    $var3 = "first", "second", "third"

    Arrays multidimensionales

    los arrays multidimensionales son variables que se pueden utilizar para almacenar información en una tabla sin tener que escribirla en una base de datos real. Parece una tabla hash, pero puede almacenar diferentes tipos de información, como cadenas e enteros., De hecho, puede imaginar una matriz multidimensional como una tabla con columnas y filas, donde cada celda tiene su propio índice dentro de un entorno de PowerShell.

    ejemplos de matriz de PowerShell

    sort array

    Si una matriz contiene solo un tipo de datos, puede ordenar los valores utilizando el método Sort:

    $array3 | Sort

    cmdlet.,

    Add To array

    primero, vamos a crear un array:

    $array5 = "one", "two", "three", "four", "five"$array5.gettype()

    para modificar fácilmente nuestro array, necesitamos agregarlo a la colección arraylist:

    $ArrayList1 = $array5$ArrayList1.GetType()

    como puede ver, el tipo Base ha cambiado y ahora podemos modificar fácilmente nuestro array:

    $ArrayList1.Add("six")$ArrayList1.Remove("three")$ArrayList1

    longitud del array

    para devolver el número de elementos en la matriz, utilice el .,parámetro de longitud:

    $array6 = 1,2,3,4,5,6echo $array6.Length

    Eliminar elemento del array

    para eliminar un elemento, utilice el .Quitar comando., De nuevo, es mejor usar una arraylist:

    $ArrayList1 = $array5$ArrayList1.GetType()$ArrayList1.Remove("three")$ArrayList1

    Array contains

    Si desea ver si alguno de los elementos en un array contiene un valor particular, use el método Contains:

    $array7 = 1,2,5,8,3,4,5$array7.Contains(2)$array7.Contains(12)

    clear array

    aunque la mayoría de las operaciones de array en PowerShell son relativamente fáciles de realizar, no hay una forma sencilla de eliminar un array., La forma más fácil de deshacerse de una matriz completa es asignarle la variable null null:

    $array7 = $null$array7

    para comprobar si nuestra matriz es nula, ejecute el siguiente script:

    $array7 -eq $null

    en PowerShell, si una variable es nula, no se puede aplicar ningún método a ella.

    Print array

    para imprimir una matriz completa, podemos utilizar los mismos métodos descritos para imprimir variables.

    para escribir a .archivo txt, utilice el comando Out-File:

    $var5 | Out-File C:\scripts\array.txt

    para exportar a a .,archivo csv, use el comando Export-Csv:

    $var6 | Export-Csv -Path C:\scripts\array.csv

    y para escribir en un archivo HTML, use el comando ConvertTo-Html:

    $var6 | ConvertTo-Html > C:\scripts\processes.html

    bucle a través de un array

    para manejar cada elemento en un array uno tras otro, necesitamos hacer un bucle usando el operador foreach. Por ejemplo, si declaramos una matriz de cadenas y queremos contar la longitud de cada palabra en la matriz, debemos ejecutar el siguiente script:

    $array8 = @("Earth","Mercury","Venus","Jupiter","Saturn","Mars", "Neptune", "Pluto") foreach ($array in $array8) { "$array = " + $array.length }

    en este artículo, aprendimos sobre las variables y sus tipos., Luego exploramos un tipo de variable, el array, en detalle y aprendimos a jugar con él. Con esta información, está listo para sumergirse aún más en PowerShell.

    Jeff es un Director de Soluciones Globales de Ingeniería en Netwrix. Es un blogger, orador y presentador de Netwrix desde hace mucho tiempo. En el blog Netwrix, Jeff comparte lifehacks, consejos y trucos que pueden mejorar drásticamente su experiencia de administración del sistema.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *