Site icon Gioxx.org

PowerShell: l’equivalente del findstr

Exchange, PowerShell e Office 365: recupero della posta cancellata 3

PowerShell: risultati delle query troncati? Come risolvere il problemaCi avevi mai pensato? In un prompt dei comandi, lanciare un findstr (con i giusti parametri) equivale a cercare un particolare che ti interessa, escludendo tutto il resto. Mi viene in mente un esempio lampo: di una lista di servizi che girano sul sistema (sc query) potrebbe interessarmi sapere se c’è o meno TeamViewer. Tradurlo in un comando di prompt vorrebbe significare qualcosa di molto simile a:

sc query | findstr /I teamviewer
NOME_SERVIZIO    : TeamViewer
NOME_VISUALIZZATO: TeamViewer 11

Ma su PowerShell? Lanciare un findstr mentre si lavora sulla propria sessione di Exchange in cloud non è proprio la stessa cosa, di certo non produce i risultati sperati. Fortunatamente esiste un’alternativa che puoi utilizzare in coda a qualsivoglia comando. Io ho riprodotto un caso specifico che mi ha permesso di individuare un utente in particolare all’interno di una lista più nutrita ottenuta esportando tutte le utenze che hanno un particolare dominio di posta come PrimarySMTPAddress.

Provo a semplificarla: di tutti quelli che hanno l’indirizzo “@dominio1.tld” io voglio sapere se tra di loro si nasconde qualcuno che abbia “Mario” all’interno del suo Alias di Exchange. Questo il risultato per step su PowerShell:

Get-Mailbox -ResultSize Unlimited | where {$_.PrimarySmtpAddress -like "*@dominio1.tld"}

Produce una lista riepilogativa di tutti coloro che hanno l’indirizzo di posta primario con il dominio da me specificato. A questo punto, per filtrare esclusivamente chi fa match con “Mario” all’interno del suo alias, ti basterà filtrare i risultati con il classico pipe in coda:

Get-Mailbox -ResultSize Unlimited | where {$_.PrimarySmtpAddress -like "*@dominio1.tld"} | ? {$_.Alias -match "mario"}

Quel | ? {$_.Alias -match "mario"} si traduce con qualsiasi cosa contenga “mario” all’interno dell’alias, serve quindi a individuare anche un utente che nell’alias potrebbe avere mario.pippo o mariopippo o qualsiasi altra combinazione. Se la query lanciata restituirà un risultato maggiore di zero (e troverà almeno un Mario tra gli alias) otterrai a video il risultato voluto.

Buon lavoro! :-)

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

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 agli articoli "a bruciapelo"!
Se vuoi leggere le altre pillole fai clic qui.

Condividi l'articolo con i tuoi contatti:
Exit mobile version