Oltre ad eseguire i cmdlet, è anche possibile eseguire funzioni in Windows PowerShell. Windows PowerShell viene fornito con funzioni predefinite, ma è possibile aggiungere funzioni ottenute da altri utenti e scriverne di nuove.

Informazioni sulle funzioni

In Windows PowerShell le funzioni sono un tipo di comando. Per eseguire una funzione digitarne il nome, proprio come se si trattasse di un cmdlet. Le funzioni dispongono di parametri proprio come i cmdlet. Analogamente ai cmdlet, le funzioni possono accettare oggetti .NET come input e restituire oggetti .NET come output. Di fatto, le funzioni consentono di eseguire tutte le attività che consentono di eseguire i cmdlet.

Le funzioni hanno il vantaggio di poter essere scritte con molta facilità. A differenza dei cmdlet, che vengono scritti in C#, le funzioni sono solo un raggruppamento denominato di comandi ed espressioni di Windows PowerShell. Se si è in grado di digitare comandi in Windows PowerShell, è possibile scrivere funzioni.

Ricerca di funzioni

Le funzioni sono comandi, pertanto per trovarle, è possibile utilizzare il cmdlet Get-Command.

Ad esempio, per trovare tutte le funzioni nella sessione, digitare:

get-command -CommandType function

Windows PowerShell viene inoltre fornito con un'unità Function: che contiene tutte le funzioni nella sessione. Per spostarsi all'interno dell'unità Function:, utilizzare gli stessi metodi che si utilizzano per spostarsi all'interno delle unità del file system.

Per accedere all'unità Function:, digitare:

cd function:

Per visualizzare le funzioni nell'unità Function:, digitare:

dir function:

Esecuzione di funzioni

Per eseguire una funzione, è sufficiente digitarne il nome. Ad esempio, per eseguire la funzione Clear-Host, digitare:

clear-host

Nella console di Windows PowerShell, la funzione Clear-Host elimina tutto il testo nella finestra della console. In altri programmi host potrebbe avere un comportamento diverso o non produrre alcun effetto.

Per utilizzare i parametri di una funzione, digitare il nome del parametro preceduto da un trattino e seguito da un valore, come per i parametri di un cmdlet.

Ad esempio, la funzione Help, che consente di visualizzare gli argomenti della Guida una pagina per volta, dispone degli stessi parametri del cmdlet Get-Help. Per utilizzare la funzione Help per ottenere solo gli esempi nell'argomento della Guida per il cmdlet Get-Service, digitare:

help -name get-service -examples

Visualizzazione della Guida relativa alle funzioni

Per le funzioni possono essere disponibili argomenti della Guida. Per trovare l'argomento della Guida per una funzione, utilizzare il cmdlet Get-Help. Si tratta dello stesso cmdlet utilizzato per visualizzare la Guida relativa ai cmdlet.

Ad esempio, per visualizzare la Guida per la funzione Disable-PSRemoting, digitare:

get-help Disable-PSRemoting

È possibile utilizzare tutti i parametri del cmdlet Get-Help per visualizzare la Guida relativa alle funzioni. Ad esempio, per visualizzare unicamente gli esempi nell'argomento della Guida per la funzione Disable-PSRemoting, digitare:

get-help Disable-PSRemoting -example

Scrittura di funzioni

Una funzione è un gruppo denominato di comandi o espressioni. Per scrivere una funzione semplice, utilizzare il formato seguente.

function <name> { <commands> }

Digitare solo function, un nome per la funzione e racchiudere i comandi tra parentesi graffe ({ }).

Ad esempio, se si digita ripetutamente un determinato comando, ad esempio get-help get-member -examples, è possibile risparmiare tempo scrivendo una funzione che esegue il comando. La funzione seguente, denominata GMEX, esegue il comando.

function GMEX {get-help get-member -examples}

Dopo avere digitato la funzione al prompt di Windows PowerShell (o averla copiata e incollata da questo argomento) e dopo avere premuto INVIO, è possibile utilizzare la funzione nella sessione. Per eseguire la funzione, digitare GMEX.

Si tratta di una funzione semplice, ma con solo alcune righe in più, è possibile aggiungere parametri, rendere i parametri facoltativi o obbligatori, aggiungere messaggi utente e un argomento della Guida per la funzione. Una volta acquisita maggiore familiarità con Windows PowerShell, sarà possibile scrivere funzioni avanzate con tutte le funzionalità dei cmdlet.

Per ulteriori informazioni sulla scrittura di funzioni, vedere about_Functions, about_Comment_Based_Help e about_Functions_Advanced.

Salvataggio di funzioni

Quando si apre Windows PowerShell, si stabilisce una sessione di Windows PowerShell. La sessione rimane attiva finché non si chiude la finestra di Windows PowerShell (o si digita Exit per terminare la sessione). A meno che non vengano salvati in un file su disco o nel Registro di sistema, gli elementi creati nella sessione vengono eliminati al termine della sessione.

Per salvare le funzioni scritte affinché siano disponibili nelle sessioni di Windows PowerShell future, creare un profilo di Windows PowerShell e salvare in esso le funzioni.

Per ulteriori informazioni, vedere about_Profiles.

Vedere anche




Argomenti della Guida