Introduzione all’istruzione If di Windows PowerShell
L’istruzione ‘If’ di PowerShell rientra nell’ambito del controllo di flusso. Una volta padroneggiata la costruzione di base, puoi aumentarne l’utilità aggiungendo le istruzioni “Else” e “ElseIf”. Una delle mie strategie alternative preferite è usare ‘Switch’.,
Argomenti per PowerShell Se la Dichiarazione
- Costruzione del ‘Se’ Istruzione
- Esempio 1: Normale, Se
- Esempio 2: If … Else
- Esempio 3: PowerShell ElseIf
- PowerShell Se Non
- PowerShell Se -O
- Riepilogo di PowerShell Se la Costruzione
Costruzione di PowerShell ‘Se’ Istruzione
Come con tanti PowerShell costruzioni, il tipo di supporto indica come rompere lo script in sezioni., Vale la pena tatuare nella nostra memoria che (le parentesi graffe sono per la prima parte, vale a dire la condizione), mentre {le parentesi sono per il comando di blocco}.
If (condition) {Do stuff}# Another explanation would beIf (test) {"Execute when true"}
Riepilogo: in PowerShell, ‘ If ‘ esegue istruzioni condizionate alla verità dell’espressione di test.
Esempio 1a: Plain ‘If’
# PowerShell If Statement Simple Example$Number = 10If ($Number -gt 0) {"Bigger than zero"}
Punti di apprendimento
Nota 1: Tracciare la costruzione di cui sopra e separare i due componenti: if (test) e {what to do}.
Nota 2: Evita di pensare troppo; non c’è’ Then ‘in un’istruzione PowerShell’ If’., Il mio consiglio è che invece di preoccuparsi di ‘Se poi’, prestare molta attenzione ai due tipi di staffa. Inoltre, non c’è endif in PowerShell come c’è in VBScript.
Nota 3: Per ricontrollare la tua comprensione, prova a modificare ” Bigger than Zero “in una stringa di testo diversa, ad esempio:”Less than nought”. Una volta fatto ciò, imposta Number Number a -1 nell’esempio precedente 1a.
Esempio 1b: Lo script PowerShell controlla se esiste un file
Nota 4: Probabilmente vuoi cambiare il file a cui fa riferimento Ch ChkFile., In effetti, lo script grida di essere modificato per un {risultato} più costruttivo.
Nota 5: Si potrebbe facilmente aggiungere un’istruzione else per soddisfare un file non esistente.Else {Write-Host "File does not exist"}
Scopri di più sul percorso di test di PowerShell
Guy raccomanda: Monitor WMI gratuito per PowerShell (STRUMENTO GRATUITO)
La strumentazione di gestione di Windows (WMI) è uno dei tesori nascosti dei sistemi operativi Microsoft., Fortunatamente, SolarWinds ha creato un monitor WMI gratuito per PowerShell in modo da poter scoprire queste gemme di informazioni sulle prestazioni e quindi migliorare i tuoi script PowerShell.
Prendere le congetture di cui contatori WMI da utilizzare durante lo scripting del sistema operativo, Active Directory, o Exchange Server. Dare a questo monitor WMI una prova-è gratuito.
SolarWinds WMI Monitor Scarica Strumento gratuito al 100%
If Logic and Tactics
È raro che la mia prima costruzione ‘If’ produca i risultati desiderati., Il segreto del successo è sperimentare con il test If, o in alternativa iniziare a introdurre uno o più test ElseIf con il loro corrispondente {outcome block}.
In questo esempio ho introdotto-Not nella logica:
Esempio 1b: Istruzione PowerShell If-Not per verificare la presenza di un servizio
Nota 6: Questo script utilizza la proprietà Nome visualizzato del servizio. Ricorda in PowerShell ‘Se poi’ non esiste. Osserva che è semplice “Se”.
Nota 7: Osservare passando la costruzione If-Not; incidentalmente, – Not è talvolta abbreviato in un punto esclamativo ! in PowerShell.,
Nota 8: Questo script grida per un’istruzione Else. Abbiamo bisogno di sapere se il servizio denominato è stato installato.
Nota 9: Vedi di più su-ErrorAction SilentlyContinue
Esempio 1c: Istruzione PowerShell If per controllare gli indirizzi IP
Ecco un altro esempio reale di ‘istruzione If’ in azione. L’idea è di eseguire il ping 20 indirizzi IP. La logica dice Se lo StatusCode è 0, quindi visualizza un’etichetta che dice ‘ON NETWORK’.
Nota 10: Una volta che le istruzioni si complicano, è il momento di indagare sul parametro Switch di PowerShell.,
Guy consiglia: Network Performance Monitor (PROVA GRATUITA)
SolarWinds Network Performance Monitor (NPM) ti aiuterà a scoprire cosa sta succedendo sulla tua rete. Questa utility vi guiderà anche attraverso la risoluzione dei problemi; il cruscotto indicherà se la causa principale è un collegamento rotto, apparecchiature difettose o sovraccarico di risorse.
Quello che mi piace di più è il modo in cui NPM suggerisce soluzioni ai problemi di rete. La sua ha anche la capacità di monitorare lo stato delle singole macchine virtuali VMware., Se sei interessato alla risoluzione dei problemi e alla creazione di mappe di rete, ti consiglio di provare NPM in una prova gratuita di 30 giorni.
SolarWinds Network Performance Monitor Scarica 30 giorni di prova GRATUITA
Esempio 1d: File Content Esempio di semplice ‘If’
PowerShell ha un batch di file di aiuto. Uno di questi file contiene la guida sull’istruzione ‘if’. Nell’esempio seguente, File File fa riferimento a quel file. $Content è impostato sul contenuto del file. La terza riga tenta di abbinare una stringa al contenuto del file.,
Punti di apprendimento
L’esempio precedente riguarda la corrispondenza di una stringa “L’istruzione if” al contenuto del file di aiuto integrato.
Esempio 2a: ‘If’ Con ‘Else’
Questo esempio tratta semplicemente ‘Else’. Questo è un comando semplice, a differenza di ElseSe non esiste una seconda costruzione di test,’ Else ‘ segue solo per riflettere cosa fare se l’istruzione If è false.
Punti di apprendimento
Il modo migliore per vedere come funziona ‘else’ è modificare la riga 3 in questo modo:
(File File-Match “The ifyyyy Statement”).,
Esempio 2b: Verifica se un servizio è stato installato
Scopri di più su PowerShell Else “
Guy raccomanda: SolarWinds Engineer’s Toolset (PROVA GRATUITA)
Questo Toolset di Engineer fornisce una console completa di 50 utility per la risoluzione dei problemi del computer. Guy dice che mi aiuta a monitorare ciò che sta accadendo sulla rete, e ogni strumento mi insegna di più su come funziona il sistema sottostante.
Ci sono così tanti buoni gadget; è come avere libero sfogo di un negozio di dolci., Per fortuna le utility vengono visualizzate logicamente: monitoraggio, rilevamento della rete, diagnostica e strumenti Cisco. Prova subito il set di strumenti di SolarWinds Engineer in una prova gratuita di 14 giorni!
SolarWinds Engineer’s Toolset Scarica 14 giorni di prova GRATUITA
Esempio 2c: PowerShell If-Not Logic
Lo scopo di questo script è quello di utilizzare-Not logic per verificare la presenza del servizio Alerter. Uno scenario è che si sta lavorando con le macchine Windows 7 e non installano più questo servizio.
Osservare come-Not inverte la logica ‘ If ‘ rispetto all’esempio 1.,
Nota 11: Vedi altri esempi di logica If-Not di PowerShell.
Esempio 2d: NetSh
Lo scopo di questo esempio è quello di verificare lo stato di un firewall su una macchina client Windows come Windows 8.1 o Windows 7.
Ricerca If, Else e ElseIf
- Per ulteriori informazioni, fare riferimento al file About_If incorporato
- Vedere come disabilitare i firewall di Windows 8 con un criterio di gruppo.
Get-Help About_If
Esempio 3: ElseIf
Questo esempio ha un compito reale; per verificare che abbiamo il nome di un file reale., Ricorda che la seconda (istruzione test) deve essere seguita da un secondo {Block Script}.
Vedi molto di più sulla costruzione di PowerShell ElseIf ”
Punti di apprendimento
Nota 12: Il vantaggio di ElseIf rispetto a plain Else, è che possiamo introdurre un nuovo test. Nell’esempio precedente usiamo ElseIf per verificare se la lunghezza del file è inferiore a 1., Per attivare il ‘ElseIf’ blocco $File di un file inesistente per esempio$File = Get-Help about_ifxx
Nota 13: Per attivare la finale di ‘Altro’, prova a cambiare:$File = Get-Help about_if
a$File = Get-Help about_scope
Se avete tempo, è possibile aggiungere più ‘ElseIf dichiarazioni di soddisfare altre eventualità. In alternativa, se la costruzione ElseIf sta diventando ingombrante, prova il comando switch superiore.
Guy consiglia: SolarWinds Admin Bundle per Active Directory (STRUMENTO GRATUITO)
Importa utenti da un foglio di calcolo., Basta fornire un elenco degli utenti con i loro campi nella riga superiore e salvare come .file csv. Quindi avvia questa utility GRATUITA e abbina i tuoi campi con gli attributi dell’ANNUNCIO, fai clic e importa gli utenti.
Facoltativamente, è possibile fornire il nome dell’UO in cui nasceranno i nuovi account. Scarica il tuo strumento GRATUITO di importazione di massa.,”0de5877345″> SolarWinds Admin Bundle Download GRATUITO al 100% Strumento Bundle
Se avete bisogno di più completo di applicazioni di analisi software, è possibile Scaricare una versione di prova gratuita di SAM (Server & Application Monitor)
About_If
Se vuoi un altro account di PowerShell Se dichiarazione, poi uno sguardo al file di guida,
# For even more information about 'If' and 'ElseIf' constructions:Get-Help about_If
Microsoft spiegazione:
if (<test1>){<statement list 1>}
di Windows PowerShell valuta il <test1> espressione condizionale true o false., Se il risultato è vero, PowerShell obbedisce a qualsiasi cosa si trovi all’interno delle {parentesi graffe}, dopo di che PowerShell esce dall’istruzione If.
Nel caso in cui il primo test sia falso PowerShell si fa strada attraverso le istruzioni ElseIf.
Per inciso, il ‘Veicolo’ per i nostri test rivela un’intera famiglia di file ‘about_zyx files’. Il mio punto è che non esiste un comando: ‘Get-Help if’, tuttavia, c’è un file di aiuto chiamato, ‘about_if’. Inoltre, se guardi nella directory di PowerShell, vedrai i file ‘About’ per aiutare con comandi come’ If ‘e’ElseIf’., Puoi elencare questi file’ About ‘con il comando:
Vedi di più su Help about*
“
Riepilogo della costruzione If di PowerShell
Quando si tratta di filtrare l’output, una delle istruzioni più vecchie e migliori è la clausola’ If’. Come al solito, il segreto per comprendere la sintassi è prestare molta attenzione allo stile della parentesi. If (parentesi per il test) e {parentesi per l’azione}. Una volta che hai imparato l’istruzione ‘If’ di base, estendi le tue capacità ricercando ‘Else’ e ‘ElseIf’.,
Se vi piace questa pagina, ti preghiamo di condividere con i tuoi amici
Vedere di più di Windows PowerShell di controllo del flusso di esempi
• PowerShell Home • PowerShell Istruzione If • PowerShell ElseIf • Libero Autorizzazioni Analizzatore
• gli Operatori Condizionali • PowerShell -Match • PowerShell -Come • PowerShell -Contiene
• PowerShell Operatori di Confronto • PowerShell Sintassi • Dove • Filtro PowerShell Altro
si Prega di e-mail me se si dispone di una migliore esempio di script., Inoltre si prega di segnalare eventuali errori di fatto, errori grammaticali o collegamenti interrotti, sarò felice di correggere l’errore.