Ricerca…


introduzione

PowerShell offre una varietà di utili variabili "automatiche" (integrate). Alcune variabili automatiche vengono popolate solo in circostanze particolari, mentre altre sono disponibili a livello globale.

$ PSScriptRoot

Get-ChildItem -Path $PSScriptRoot

Questo esempio recupera l'elenco di elementi secondari (directory e file) dalla cartella in cui si trova il file di script.

La variabile automatica $PSScriptRoot è $null se utilizzata dall'esterno di un file di codice PowerShell. Se utilizzato all'interno di uno script PowerShell, ha automaticamente definito il percorso del file system completo alla directory che contiene il file di script.

In Windows PowerShell 2.0, questa variabile è valida solo nei moduli di script (.psm1). A partire da Windows PowerShell 3.0, è valido in tutti gli script.

$ Args

$Args

Contiene una matrice di parametri non dichiarati e / o valori di parametro passati a una funzione, script o blocco di script. Quando si crea una funzione, è possibile dichiarare i parametri utilizzando la parola chiave param o aggiungendo un elenco di parametri separati da virgole tra parentesi dopo il nome della funzione.

In un'azione evento, la variabile $ Args contiene oggetti che rappresentano gli argomenti evento dell'evento che viene elaborato. Questa variabile viene popolata solo all'interno del blocco Azione di un comando di registrazione eventi. Il valore di questa variabile può essere trovato anche nella proprietà SourceArgs dell'oggetto PSEventArgs (System.Management.Automation.PSEventArgs) restituito da Get-Event.

$ PSItem

Get-Process | ForEach-Object -Process { 
  $PSItem.Name
}

Come $_ . Contiene l'oggetto corrente nell'oggetto pipeline. È possibile utilizzare questa variabile nei comandi che eseguono un'azione su ogni oggetto o su oggetti selezionati in una pipeline.

$?

Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"

Contiene lo stato di esecuzione dell'ultima operazione. Contiene TRUE se l'ultima operazione è riuscita e FALSE se fallisce.

$ error

Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)

Contiene una matrice di oggetti di errore che rappresentano gli errori più recenti. L'errore più recente è il primo oggetto di errore nella matrice ($ Errore [0]).

Per evitare che venga aggiunto un errore all'array $ Error, utilizzare il parametro comune ErrorAction con il valore Ignore. Per ulteriori informazioni, vedere about_CommonParameters ( http://go.microsoft.com/fwlink/?LinkID=113216) .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow