Page 699 - Guida Windows 10
P. 699
Filtraggio dell’output con Where-Object. Per filtrare l’output di un cmdlet, inviatelo tramite un pipe al cmdlet
Where-Object. Con Where-Object potete incapsulare i criteri di filtraggio in un blocco script, fra parentesi graffe. Il
seguente esempio filtra l’output prodotto da Get-Service, in modo che vengano visualizzati solo quei servizi il cui status
è Stopped:
Get-Service | Where-Object {$_.Status -eq “Stopped”}
Ordinamento dell’output con Sort-Object. Il cmdlet Sort-Object consente di ordinare l’output
prodotto da un cmdlet in base a una o più delle proprietà dell’oggetto risultante, utilizzando vari
sistemi utili. Omettendo il parametro -Property, il cmdlet Sort-Object ordinerà i dati sulla base
della proprietà predefinita. Per esempio,
Get-Childitem | Sort-Object
ordina il contenuto della directory corrente per Name, la proprietà predefinita in questa
situazione. Per ordinare i dati in base a più proprietà, fate seguire a -Property un elenco di
proprietà separate da una virgola. Sort-Object ordina sulla base della prima proprietà indicata, poi
ordina quegli elementi che hanno lo stesso valore nella prima proprietà sulla base della seconda e
così via. Normalmente l’ordinamento è ascendente; per eseguire un ordinamento discendente,
aggiungete il parametro -Descending.
Inviando Sort-Object a Select-Object tramite un pipe potete, per esempio, restituire i più grandi o
i più piccoli n elementi dell’oggetto risultante. Per esempio,
Get-Process | Sort-Object -Property WS | Select-Object -Last 10
restituisce i processi con i dieci valori più elevati nella proprietà WS (working set). Utilizzando -
First 10 anziché -Last 10, otterrete i dieci elementi con i valori più piccoli.
Pipe dell’output sulla stampante. Per redirigere l’output sulla stampante predefinita, inviatelo
tramite un pipe a Out-Printer. Per utilizzare un’altra stampante, specificatene il nome, racchiuso
fra doppi apici, dopo Out-Printer. Per esempio,
Get-Content C:\Users\Craig\Documents\Music\Sonata.sib | Out-Printer “Microsoft Print To PDF”
invia il contenuto di C:\Users\Craig\Documents\Music\Sonata.sib al dispositivo Microsoft Print
To PDF.
Uso delle funzionalità di PowerShell per semplificare l’inserimento di dati con la
tastiera
Quello di PowerShell è un linguaggio piuttosto “prolisso” e che non ammette errori.
Fortunatamente offre anche molte funzionalità che aiutano a semplificare la formulazione di
comandi di complessità accettabile.
Uso e creazione di alias. Un alias è una formulazione alternativa di un cmdlet. Come abbiamo
detto in precedenza, PowerShell utilizza degli alias per tradurre i comandi del prompt nel proprio
linguaggio nativo: per esempio, cd viene tradotto in Set-Location. Ma PowerShell fornisce anche
molte altre semplificazioni offerte per pura comodità: gsv, per esempio, è l’alias di Get-Service.
È anche possibile creare nuovi alias.