Introduktion til Windows PowerShell-Hvis-Sætning
PowerShell er “Hvis” erklæring kommer under paraplyen af flow control. Når du mestrer den grundlæggende konstruktion, kan du øge dens anvendelighed ved at tilføje, ‘Else’ og ‘ElseIf’ udsagn. En af mine foretrukne alternative strategier er at bruge ‘S .itch’.,
Emner til PowerShell-s If-Sætning
- Opførelsen af ” If ” – Sætning
- Eksempel 1: Almindeligt, Hvis
- Eksempel 2: Hvis … Ellers
- Eksempel 3: PowerShell ElseIf
- PowerShell-Hvis -Ikke
- PowerShell, Hvis -Eller
- Resumé af PowerShell, Hvis Konstruktion
Opførelsen af PowerShell ‘Hvis’ – Sætning
Som med så mange PowerShell konstruktioner, typen af beslag betyder, hvordan man kan bryde script i sektioner., Det er værd at tatovere ind i vores hukommelse, at (parentes parentes er for første del, nemlig betingelsen), mens {seler er til blokkommandoen}.
If (condition) {Do stuff}# Another explanation would beIf (test) {"Execute when true"}
Resumé: I PowerShell, ‘Hvis’ udfører udsagn betinget af, at sandheden af testen udtryk.
eksempel 1a: almindelig ‘If’
# PowerShell If Statement Simple Example$Number = 10If ($Number -gt 0) {"Bigger than zero"}
læringspunkter
Note 1: Spor ovenstående konstruktion, og Adskil de to komponenter: if (test) og {hvad skal man gøre}.Note 2: Undgå over-think; der er ingen’ Then ‘I en Po .ershell’ If ‘ – erklæring., Mit råd er, at i stedet for at bekymre sig om ‘hvis Da’, skal du være meget opmærksom på de to typer beslag. Desuden er der ingen endif i Po .ershell, som der er i VBScript.Note 3: for at dobbelttjekke din forståelse, prøv at ændre, ” større end nul “til en anden tekststreng, såsom:”mindre end intet”. Når du har gjort det, så sæt $Nummer til -1 i ovenstående Eksempel 1a.
Eksempel 1b: PowerShell Script til at Kontrollerer, Om en Fil Findes ikke
Bemærk 4: har Du sandsynligvis ønsker at ændre den fil der refereres til af $ChkFile., Faktisk skriger scriptet for at blive ændret for en mere konstruktiv {outcome}.Note 5: Du kan nemt tilføje en else-erklæring for at imødekomme en fil, der ikke findes.Else {Write-Host "File does not exist"}
Se mere om PowerShell ‘ s Test-Sti
Fyr Anbefaler: Gratis WMI Monitor til PowerShell (GRATIS VÆRKTØJ)
WMI (Windows Management Instrumentation) er en af de skjulte skatte af Microsofts operativsystem., Heldigvis SolarWinds har oprettet en Gratis WMI Monitor til PowerShell, så du kan opdage disse perler af oplysninger om resultater, og dermed forbedre din PowerShell-scripts.
Tag gætteriet ud af, hvilke WMI-tællere der skal bruges, når du scripterer operativsystemet, Active Directory eller e .change Server. Prøv denne WMI-skærm-det er gratis.
SolarWinds WMI Monitor Download 100% Gratis Værktøj
Hvis Logik og Taktik
Det er sjældent, at min første ‘Hvis’ konstruktion giver de ønskede resultater., Hemmeligheden bag succes er at eksperimentere med If-testen, eller alternativt begynde at introducere en eller flere ‘ElseIf-test med deres tilsvarende {outcome block}.
I dette eksempel har jeg indført -Ikke i logikken:
Eksempel 1b: PowerShell-Hvis -Ikke-Sætning til at Kontrollere, om en Service
Note 6: Dette script benytter Displayet Navn ejendom service. Husk i Po .ershell’ Hvis da ‘ ikke eksisterer. Overhold det er almindeligt’hvis’.
Note 7: Vær opmærksom på at passere If-not-konstruktionen; i øvrigt-Not er undertiden forkortet til et udråbstegn ! i Po .ershell.,
Note 8: dette script skriger til en Else erklæring. Vi skal vide, om den navngivne tjeneste er installeret.
Note 9: Se mere på ErrorAction SilentlyContinue
Eksempel 1c: PowerShell, Hvis Erklæring for At Kontrollere IP-Adresser
Her er endnu et real-life eksempel på den “If-sætning’ i aktion. Ideen er at pinge 20 IP-adresser. Logikken siger, at hvis statuskoden er 0, skal du vise en etiket, der siger ‘på netværk’.Note 10: når udsagn bliver komplicerede, er det tid til at undersøge Po .ershells s .itchparameter.,
Fyr Anbefaler: Network Performance Monitor (GRATIS PRØVEVERSION)
SolarWinds Network Performance Monitor (NPM) vil hjælpe dig med at opdage, hvad der sker på dit netværk. Dette værktøj vil også guide dig gennem fejlfinding; instrumentbrættet angiver, om grundårsagen er et brudt link, defekt udstyr eller overbelastning af ressourcer.
hvad jeg bedst kan lide er den måde, NPM foreslår løsninger på netværksproblemer. Dens har også evnen til at overvåge sundheden for individuelle VM .are virtuelle maskiner., Hvis du er interesseret i fejlfinding og oprettelse af netværkskort, anbefaler jeg, at du prøver NPM på en 30-dages gratis prøveperiode.
SolarWinds Network Performance Monitor Downloade en 30-dages GRATIS Prøveversion
Eksempel 1d: Fil Content Eksempel Almindeligt ‘Hvis’
PowerShell er et parti af hjælp-filer. En af disse filer indeholder Hjælp om’ if ‘ – erklæringen. I eksemplet nedenfor henviser $fil til den fil. $Indhold er indstillet til indholdet af filen. Den tredje linje forsøger at matche en streng til indholdet af filen.,
læringspunkter
ovenstående eksempel handler om at matche en streng “if-sætningen” til indholdet af den indbyggede hjælpefil.
eksempel 2a: ‘Hvis’ med ‘Else’
dette eksempel omhandler almindelig ‘Else’. Dette er en simpel kommando, i modsætning til Elseihvis der ikke er nogen anden testkonstruktion, følger ‘Else’ bare for at afspejle, hvad man skal gøre, hvis If-erklæringen er falsk.
læringspunkter
den bedste måde at se, hvordan ‘else’ fungerer, er at ændre linje 3 således:
($File-Match “the ifyyyy Statement”).,
Eksempel 2b: kontroller, Om en Tjeneste Er Blevet Installeret
Se mere om PowerShell Andet “
Fyr Anbefaler: SolarWinds Engineer ‘s Toolset (GRATIS PRØVEVERSION)
Denne Engineer’ s Toolset indeholder en omfattende konsol 50 værktøjer til fejlfinding og af computerproblemer. Guy siger, at det hjælper mig med at overvåge, hvad der sker på netværket, og hvert værktøj lærer mig mere om, hvordan det underliggende system fungerer.
Der er så mange gode gadgets; det er som at have frie tøjler af en s .eetshop., Heldigvis hjælpeprogrammer vises logisk: overvågning, netværk opdagelse, diagnostisk, og Cisco værktøjer. Prøv Solar !inds Engineer ‘ s værktøjssæt på en 14-dages gratis prøveperiode nu!
SolarWinds Engineer ‘ s Toolset Downloade 14-dages GRATIS Prøveversion
Eksempel 2c: PowerShell-Hvis -Ikke Logik
formålet med dette script er at ansætte-Ikke logik til at kontrollere for Alerter. Et scenarie er, at du arbejder med machinesindo .s 7-maskiner, og de installerer ikke længere denne service.
Overhold, hvordan-ikke vender ‘If’ – logikken sammenlignet med eksempel 1.,Note 11: Se flere eksempler på Po .ershells hvis-ikke logik.
Eksempel 2d: NetSh
formålet med dette eksempel er at kontrollere status for en firewall på en Windows-klient maskinen, såsom Windows 8.1 eller Windows 7.
Forske i, Hvis Ellers og ElseIf
- For yderligere oplysninger henvises til den indbyggede About_If fil
- Se, hvordan du deaktiverer Windows 8 firewalls med en Gruppe Politik.
Get-Help About_If
Eksempel 3: ElseIf
Dette eksempel har en reel opgave, at kontrollere, at vi har navnet på en fil., Husk, at den anden (testopgørelse) skal følges af et andet {blok Script}.
se meget mere på Po .ershell ElseIf-konstruktionen “
læringspunkter
Note 12: fordelen ved ElseIf over almindelig andet er, at vi kan introducere en ny test. I ovenstående eksempel bruger vi ElseIf til at kontrollere, om længden af filen er mindre end 1., For at aktivere ‘ElseIf’ blok, sæt $Fil til en ikke-eksisterende fil, for eksempel$File = Get-Help about_ifxx
Note 13: for At udløse den endelige ‘Andet’, kan du prøve at ændre:$File = Get-Help about_if
$File = Get-Help about_scope
Hvis du har tid, du kan tilføje mere “ElseIf’ udsagn til at tage højde for andre situationer. Alternativt, hvis ElseIf-konstruktionen bliver uhåndterlig, så prøv kommandoen superior s .itch.
Guy anbefaler: Solar .inds Admin Bundle til Active Directory (gratis værktøj)
Importer brugere fra et regneark., Bare giv en liste over brugerne med deres felter i øverste række, og gem som .csv-fil. Start derefter dette gratis værktøj og match dine felter med annoncens attributter, klik og importer brugerne.
Valgfrit kan du angive navnet på den OU, hvor de nye konti vil blive født. Do .nload din gratis bulk import værktøj.,”0de5877345″> SolarWinds Admin Bundt Download 100% GRATIS Værktøj Bundt
Hvis du har brug for mere omfattende anvendelse analyse software, kan du Hente en gratis prøveversion af SAM (Server & Application Monitor)
About_If
Hvis du ønsker en anden konto af PowerShell-s If-sætning, så tag et kig på den indbyggede hjælp-fil
# For even more information about 'If' and 'ElseIf' constructions:Get-Help about_If
Det er Microsoft ‘ s forklaring:
if (<test1>){<statement list 1>}
Windows PowerShell vurderer <test1> betingede udtryk som enten sande eller falske., Skulle resultatet være sandt, adlyder Po .ershell, hvad der er inde i {curly parentes}, hvorefter Po .ershell forlader If-sætningen.
i tilfælde af at den første test er falsk, arbejder Po .ershell sig gennem ElseIf-udsagnene.
i øvrigt afslører ‘køretøjet’ til vores test en hel familie af ‘about_ .y….’ – filer. Mit punkt er, at der ikke er nogen kommando:’ Get-Help if’, men der er en hjælpefil kaldet’about_if’. Desuden, hvis du kigger i Po .ershell-mappen, vil du se ‘om’ filer til at hjælpe med kommandoer som ‘hvis’ og ‘ElseIf’., Du kan lave en liste over disse ” Om ” – filer med kommandoen:
Se mere om Hjælp om*
“
Resumé af PowerShell, Hvis Konstruktion
Når det kommer til filtrering af output, en af de ældste og bedste udsagn er “Hvis” – klausul. Som sædvanlig er hemmeligheden ved at forstå syntaksen at være meget opmærksom på stilen på beslaget. Hvis (parentes til testen) og {seler til handling}. Når du har mestret den grundlæggende ‘If’ – erklæring, skal du udvide dine evner ved at undersøge ‘Else’ og ‘ElseIf’.,
Hvis du kan lide denne side-så kan du dele den med dine venner
Se flere Windows PowerShell flow control eksempler
• PowerShell Hjem • PowerShell If-Sætning • PowerShell ElseIf • Gratis Tilladelser Analyzer
• Betinget Operatører • PowerShell -Match • PowerShell -Lignende • PowerShell -Indeholder
• PowerShell Sammenligning Operatører • PowerShell Syntaks • Hvor Filter • PowerShell Andet
send Venligst en email til mig, hvis du har et bedre eksempel på et script., Rapporter også eventuelle faktuelle fejl, grammatiske fejl eller ødelagte links, jeg vil med glæde rette fejlen.