Assicuratevi di dare un'occhiata al nostro primo articolo che introduce PowerShell e rimanete sintonizzati per il resto della nostra serie per tutta la settimana.
L'anatomia di un cmdlet
Nella prima parte della serie abbiamo visto un cmdlet simile a questo:
Update-Help
I cmdlet di PowerShell hanno una sintassi Verb-Noun, che può essere vista sopra. La cosa importante da notare è che il nome è sempre singolare anche se il cmdlet potrebbe restituire più di un risultato. Per visualizzare un elenco di verbi legali in PowerShell è possibile utilizzare il cmdlet Get-Verb.
Conoscere i verbi legali e ricordare la regola del nome singolare aiuta davvero a indovinare i nomi dei cmdlet. Ad esempio, supponi di volerlo ottenere una lista di Servizi e il loro stato - è vero, è facile come Get-Service. Come pensi che lo faremmo ottenere un elenco di corsa processi - Esatto, Get-Process farà il trucco.
Get-Process
Get-Mailbox
Tuttavia, c'è un'eccezione. Scambio a parte, tutti gli altri comandi specifici della tecnologia richiedono un prefisso. Ad esempio, se volessimo ottenere gli utenti che sono attualmente connessi tramite Remote Desktop, dovremmo digitare:
Get-RDUserSession
Che può essere visto nello screenshot qui sotto.
Nota: questo screenshot è stato eseguito su una casella Server 2012 in quanto è dove si troverà la maggior parte dei moduli specifici della tecnologia.
alias
Un'altra caratteristica di PowerShell è la possibilità di avere più modi di eseguire lo stesso comando - alias, se vuoi. La cosa fantastica di loro è che includevano molti comandi che potevi usare nel prompt dei comandi, così come alcuni alias di Linux. Ad esempio, in PowerShell possiamo ottenere un elenco di directory usando:
Get-ChildItem
Get-Alias –Name ls
Get-ChildItem –Definition Get-ChildItem
New-Alias –Name icanhazfilez –Value Get-ChildItem
Ovviamente, dovrai sostituire "icanhazfilez" con il nome del tuo nuovo alias e Get-ChildItem con il cmdlet che vuoi che venga eseguito sotto il cofano.
Troncamento dei parametri
Windows PowerShell consente inoltre di troncare i nomi dei parametri fino al punto in cui diventano ambigui, vale a dire fino al punto in cui PowerShell non è più in grado di determinare quale parametro si sta parlando. Per esempio:
Get-Service -Name ‘Apple Mobile Device’ -ComputerName localhost
Get-Service -Na ‘Apple Mobile Device’ -Com localhost
Comandi legacy
Infine, i comandi che conosci e ami funzioneranno ancora in PowerShell.
ping www.google.com