Get-Command
Get-Command è uno dei cmdlet più utili dell'intero PowerShell, poiché ti aiuterà a familiarizzare con PowerShell consentendo la ricerca di determinati cmdlet. Usare Get-Command da solo non è certamente molto utile dato che sta solo per sputare ogni comando di PowerShell.
Get-Command –Name *IP*
Get-Command –Module NetTCPIP –Name *IP*
Ottenere aiuto
Una volta trovato il cmdlet che si sta cercando usando Get-Command, si vorrà conoscere la sintassi e come utilizzare quel cmdlet specifico. È qui che arriva Get-Help, se hai mai usato la riga di comando in Windows probabilmente hai fatto qualcosa del genere:
ipconfig /?
Bene, questo non funziona in PowerShell, questo perché in PowerShell viene usato uno spazio per separare un comando dai suoi parametri. Quindi, invece, usiamo Get-Help e passiamo il nome di un cmdlet a Get-Help come parametro.
Get-Help Get-Process
Get-Member
Get-Member ci consente di ottenere informazioni sugli oggetti restituiti da un cmdlet. Il problema con get-member, è che si basa sulla funzionalità di pipeline di PowerShell, per dimostrarlo, potremo utilizzare il cmdlet Get-Process.
Get-Process | Get-Member
Start-Process notepad.exe $NotepadProc = Get-Process -Name notepad $NotepadProc.WaitForExit() Start-Process calc.exe
Lo script avvierà il blocco note, quindi assegna l'output di "Get-Process -Name notepad" alla variabile $ NotepadProc, quindi chiamiamo il metodo WaitForExit su $ NotepadProc che provoca la sospensione dello script fino a quando non si chiude il blocco note, dopo aver chiuso il blocco note quindi verrà avviata la calcolatrice.
$ _ (Oggetto Pipeline corrente)
Sebbene non sia esattamente un cmdlet, è una delle variabili speciali più utilizzate in PowerShell. Il nome ufficiale per $ _ è "l'attuale oggetto della pipeline". Viene utilizzato nei blocchi di script, nei filtri, nella clausola di processo delle funzioni, dove-oggetto, oggetto foreach e switch. Tuttavia è più facile spiegare con un esempio, che ci porta al nostro prossimo e ultimo cmdlet, Where-Object.
Where-Object
Where-Object fa esattamente quello che sembra, seleziona un oggetto in base al fatto che soddisfi determinati criteri. Ciò riunirà $ _ e le proprietà che possiamo vedere usando Get-Member. Per dimostrarlo, inseriremo l'output di Get-Process nel cmdlet Where-Object.
Get-Process | Where-Object {$_.Name –eq “iexplore”}