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.
   694   695   696   697   698   699   700   701   702   703   704