Variabili e array PowerShell

0 Comments

Nel precedente articolo, denominato PowerShell Scripting Tutorial for Beginners, abbiamo esplorato come utilizzare la console PowerShell per eseguire script e imparato cosa sono i cmdlet, come ottenere le loro proprietà e come utilizzare le pipe per passare i dati da un cmdlet a un altro.

In questo articolo, passeremo alle variabili e agli array, incluso quello che sono e come possiamo crearli, rimuoverli e cambiarli.,i>Elenco variabili

  • Impostare la variabile
  • Ottenere variabile
  • Stampa variabile
  • Cancella la variabile
  • Rimuovere la variabile
  • PowerShell Array
    • Array List
    • Indice di un Array
    • Array Multidimensionali
  • PowerShell Array Esempi
    • Tipo array
    • Aggiungere all’array
    • lunghezza dell’Array
    • Rimuovere elemento dall’array
    • Array contiene
    • Chiara matrice
    • Stampa array
    • Loop attraverso un array
  • PowerShell Variabili

    Una variabile è un’unità di memoria in cui vengono memorizzati i valori., Una variabile in PowerShell inizia con ” $ ” (simbolo del dollaro) e il suo nome può contenere lettere, numeri e caratteri di sottolineatura. Per assegnare un valore a una variabile, usiamo l’operatore”=”. Per visualizzare il valore di una variabile, è sufficiente inserire la variabile.,

    Se si aggiunge un numero in una stringa, il numero diventa automaticamente una stringa:

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

    Tipi di Variabili

    La PowerShell tipo di variabile è impostata automaticamente in base al valore assegnato, ma è anche possibile assegnare il manuale del tipo:

    $var1 = "Netwrix"

    Per scoprire che tipo di una variabile, si usa il “GetType ()” parametro:

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

    Come si può vedere, il nostro $var1 variabile di Sistema”.,Stringa” tipo.

    Ecco le descrizioni di tutti i tipi di variabili PowerShell:

    Probabilmente hai già capito che puoi scrivere sulla variabile non solo un valore definito e hai notato il sistema di classi.Oggetto nella tabella. A questa variabile è possibile scrivere l’output di qualsiasi cmdlet.

    Ambito variabile

    L’ambito variabile in PowerShell può essere locale o globale. Per impostazione predefinita, una variabile ha un ambito locale., Una variabile è limitata dal suo ambito corrente; ad esempio, una variabile locale può essere disponibile in una funzione o in uno script corrente, mentre una variabile globale è attiva per tutta la sessione PowerShell corrente. Per indicare una variabile globale, utilizzare il formato Global Global :variable = value, come illustrato nel seguente comando:

    $Global:var4 = 12

    PowerShell Variable Examples

    Elenca variabili

    Per elencare tutte le variabili disponibili correnti, eseguire il comando ls variable:*., Ecco un esempio dell’output:

    Imposta variabile

    Puoi creare una variabile semplicemente assegnandole un valore. Ad esempio, il comando var var4 = “variableexample” crea una variabile denominata var var4 e le assegna un valore stringa. Le virgolette doppie (” “) indicano che un valore stringa viene assegnato alla variabile.

    Ottieni variabile

    Questo è molto simile al comando list variable, semplicemente usando un altro cmdlet:

    Get-Variable | Out-String

    Stampa variabile

    Puoi emettere una variabile a .txt, .file csv o HTML.

    Per scrivere su un .,file txt, utilizzare il comando Out-File:

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

    Per esportare i dati in un .,”d2d13912ee”>

    E scrivere in un file HTML, utilizzare il ConvertTo-comando in linguaggio Html:

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

    Per leggere un file che abbiamo esportato, possiamo utilizzare il cmdlet Get-Content:

    Get-Content C:\scripts\processes.csv

    Cancella la variabile

    Per cancellare il contenuto di una variabile, utilizzare il Sereno-Variabile cmdlet:

    Clear-Variable -name var6 #without $

    Rimuovere la variabile

    Per rimuovere completamente una variabile, utilizzare il cmdlet Remove-variable:

    Remove-Variable -name var6 #without $

    PowerShell Array

    Un array è un tipo di una variabile., È un insieme di componenti (elementi dell’array) disposti in un certo ordine. Gli elementi dell’array sono numerati in sequenza e si accede a un elemento utilizzando il suo numero di indice.

    Quando si creano array, tenere presente il comportamento predefinito di PowerShell. Se si crea un array con più elementi, PowerShell creerà un array,come si intende. Ad esempio, inserire alcuni numeri in un array e quindi controllare il tipo di dati della variabile:

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

    Come puoi vedere, in questo caso, PowerShell ha creato un array (Sistema.Array).,

    Tuttavia, se si mette solo un valore in una variabile, poi PowerShell non creare un array:

    $array1 = 1$array1.GetType()

    naturalmente, non si può sempre dire in anticipo come molti oggetti saranno ricevuti a seguito di esecuzione di un comando particolare, quindi è necessario avere il codice che ti trattano sempre come risultato un array.

    Puoi farlo in molti modi. Ad esempio, è possibile utilizzare l’operatore”,”. Se una virgola viene utilizzata come operatore binario, viene creato un array normale; se viene utilizzato come operatore unario, l’array ha un solo elemento., Per esempio, ecco come si può ottenere una matrice costituita da un solo elemento:

    $array1 = ,1$array1.GetType()

    in Alternativa, è possibile specificare in modo esplicito il tipo di dati di una variabile:

    ]$array1 = 1$array1.GetType()

    Infine, è anche possibile creare un array utilizzando una sottoespressione operatore “@”, che costituisce un array, anche se non oggetti specificati. È molto conveniente inizializzare una variabile come array e quindi aggiungere oggetti ad essa senza preoccuparsi del loro numero.,

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

    Si noti che ogni elemento di un array ha il proprio tipo di dati e l’oggetto type consente di aggiungere qualsiasi valore all’array. Se necessario, è possibile limitare i membri dell’array a un tipo di dati specifico, quindi si sta creando un “array digitato”., Ad esempio, è possibile specificare che gli elementi dell’array deve essere valori interi:

    ]$array1 = 1$array1.GetType()

    E così si definiscono i processi di sistema in quanto membri dell’array:

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

    Array List

    Se si modifica o la ricerca di un array di frequente, è possibile utilizzare la classe ArrayList, che è stato progettato per permette di aggiungere, rimuovere, e la ricerca di elementi:

    $array3 = New-Object System.Collections.ArrayList

    Array Index

    Un indice dell’array è un valore, in genere un numero intero numerico utilizzato per identificare e di fare riferimento a un elemento dell’array., Gli indici di array iniziano da zero o uno, a seconda del linguaggio di programmazione. Gli array di Windows PowerShell sono basati su zero, quindi per fare riferimento al primo elemento dell’array var var3 (”elemento zero”), dovresti scrivere var var3 .

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

    Array multidimensionali

    Gli array multidimensionali sono variabili che possono essere utilizzate per memorizzare informazioni in una tabella senza doverle scrivere in un database reale. Sembra una tabella hash, ma può memorizzare diversi tipi di informazioni, come stringhe e numeri interi., In effetti, puoi immaginare un array multidimensionale come una tabella con colonne e righe, in cui ogni cella ha il proprio indice all’interno di un ambiente PowerShell.

    PowerShell Array Esempi

    di Ordinare array

    Se un array contiene un solo tipo di dati, è possibile ordinare i valori utilizzando il metodo di Ordinamento:

    $array3 | Sort

    Per ordinare un array con più di un tipo di dati, è necessario utilizzare il cmdlet Sort-Object.,

    Aggiungere all’array

    Prima di tutto, creare un array:

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

    Per modificare facilmente il nostro array, abbiamo bisogno di aggiungere alla arraylist di raccolta:

    $ArrayList1 = $array5$ArrayList1.GetType()

    Come si può vedere, il BaseType è cambiato e si può facilmente modificare il nostro array ora:

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

    Array lunghezza

    Per restituire il numero di elementi dell’array, utilizzare il .,parametro lunghezza:

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

    Rimuovi elemento da array

    Per rimuovere un elemento, utilizzare il .Rimuovi comando., Di nuovo, è meglio usare un arraylist:

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

    Array contiene

    Se si desidera controllare la presenza di eventuali elementi in un array contiene un valore particolare, di utilizzare il metodo Contains:

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

    Chiara matrice

    Anche se la maggior parte delle operazioni di array in PowerShell sono relativamente facili da realizzare, non vi è alcun modo semplice per eliminare un array., Il modo più semplice per sbarazzarsi di un intero array è quello di assegnare la variabile $null al:

    $array7 = $null$array7

    Per verificare se la nostra matrice è nullo, eseguire il seguente script:

    $array7 -eq $null

    In PowerShell, se una variabile è null, non è possibile applicare qualsiasi metodi.

    Print array

    Per stampare un intero array, possiamo usare gli stessi metodi descritti per la stampa delle variabili.

    Per scrivere su un .file txt, utilizzare il comando Out-File:

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

    Per esportare in a .,file csv, utilizzare il comando Export-Csv:

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

    E scrivere in un file HTML, utilizzare il ConvertTo-comando in linguaggio Html:

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

    Loop attraverso un array

    al fine di gestire ogni elemento in un array, uno dopo l’altro, abbiamo bisogno di fare un loop con il foreach operatore. Ad esempio, se dichiariamo un array di stringhe e vogliamo contare la lunghezza di ogni parola nell’array, dovremmo eseguire il seguente script:

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

    In questo articolo, abbiamo appreso delle variabili e dei loro tipi., Poi abbiamo esplorato un tipo di variabile — l’array— in dettaglio e imparato a giocare con esso. Con queste informazioni, si è pronti a tuffarsi in PowerShell ancora più in profondità.

    Jeff è direttore di Global Solutions Engineering presso Netwrix. Lui è un blogger di lunga data Netwrix, altoparlante, e presentatore. Nel blog Netwrix, Jeff condivide lifehacks, suggerimenti e trucchi che possono migliorare notevolmente la vostra esperienza di amministrazione del sistema.


    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *