Sbagliando si impara: PowerShell, Sort e Format-Table

Gioxx  —  13/12/2016 — Leave a comment

Per la serie “sbagliando si impara“, anche se in realtà vale anche quella che dice che l’errore davanti ai propri occhi è anche quello che continua a sfuggire pure alla centesima rilettura, oggi prendo appunti su PowerShell e ordinamento dei risultati richiesti.

Nello specifico volevo ottenere una lista di contatti con un preciso dominio impostato nel PrimarySMTPAddress (WindowsEmailAddress), ho pensato bene quindi di lanciare un comando semplice (il Get-MailContact), filtrare in output solo ciò che mi interessava e pretendere di ordinare l’output dopo averlo già generato:

PS C:\PS1\PS1> Get-MailContact -ResultSize unlimited | where {$_.WindowsEmailAddress -like "*@contoso.com"} | ft name,Alias,WindowsEmailAddress | sort name
out-lineoutput : L'oggetto di tipo "Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData" non è valido oppure non è stato specificato nella sequenza corretta. L'errore dipende probabilmente da un comando "format-*" specificato dall'utente in conflitto con la formattazione predefinita.
    + CategoryInfo          : InvalidData: (:) [out-lineoutput], InvalidOperationException
    + FullyQualifiedErrorId : ConsoleLineOutputOutOfSequencePacket,Microsoft.PowerShell.Commands.OutLineOutputCommand

Per una illogica del mio unico neurone alla ricerca di aria fresca, mi ostinavo a chiedere un sort in seguito alla formattazione della tabella in output, quando in realtà il sort va chiesto prima di preparare i risultati da mostrare a video (cosa abbastanza normale a pensarci a sangue freddo, non trovi?). Il modo giusto per chiederlo è quindi anteporlo al Format-Table:

Get-MailContact -ResultSize unlimited | where {$_.WindowsEmailAddress -like "*@contoso.com"} | sort name | ft name,Alias,WindowsEmailAddress

Che produce un risultato a video assolutamente preciso, secondo richiesta impartita:

Sbagliando si impara: PowerShell, Sort e Format-Table

Metto da parte, lezione imparata, nel frattempo mi bastono da solo.

G

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!