Inleiding tot het Windows PowerShell If Statement
PowerShell ‘S’ If ‘ statement valt onder de paraplu van flow control. Als je eenmaal de basisconstructie onder de knie hebt, kun je het nut ervan vergroten door ‘Else’ en ‘ElseIf’ toe te voegen. Een van mijn favoriete alternatieve strategieën is om ‘Switch’te gebruiken.,
Topics for PowerShell ‘S If Statement
- constructie van het’ If ‘Statement
- Voorbeeld 1: Plain If
- Voorbeeld 2: If … Else
- Voorbeeld 3: PowerShell ElseIf
- PowerShell If-Not
- PowerShell If-Or
- samenvatting van PowerShell’ S If Construction
constructie van het PowerShell ‘ if ‘ statement
zoals bij zoveel PowerShell-constructies, geeft het type haakje aan hoe het script in secties moet worden opgedeeld., Het is de moeite waard om in ons geheugen te tatoeëren dat (haakjes zijn voor het eerste deel, namelijk de voorwaarde), terwijl {haakjes zijn voor het blok Commando}.
If (condition) {Do stuff}# Another explanation would beIf (test) {"Execute when true"}
samenvatting: in PowerShell voert ‘If’ statements uit op voorwaarde dat de testexpressie waar is.
voorbeeld 1a: Plain ‘ If ‘
# PowerShell If Statement Simple Example$Number = 10If ($Number -gt 0) {"Bigger than zero"}
leerpunten
Opmerking 1: traceer de bovenstaande constructie en scheid de twee componenten: if (test) en {what to do}.
Opmerking 2: Vermijd overdenken; er is geen ‘Then’ in een PowerShell ‘If’ statement., Mijn advies is dat in plaats van zorgen te maken over ‘als dan’, aandacht besteden aan de twee soorten beugel. Verder is er geen anddif in PowerShell zoals in VBScript.
opmerking 3: om uw begrip te controleren, probeert u “groter dan nul” te wijzigen in een andere tekenreeks, zoals: “minder dan nul”. Als je dat gedaan hebt, zet $nummer op -1 in het bovenstaande voorbeeld 1a.
voorbeeld 1b: PowerShell Script om te controleren of een bestand bestaat
Opmerking 4: u wilt waarschijnlijk het bestand waarnaar wordt verwezen door $ChkFile wijzigen., Inderdaad, het script roept om te worden aangepast voor een meer constructieve {outcome}.
Opmerking 5: U kunt eenvoudig een ander statement toevoegen om tegemoet te komen aan een bestand dat niet bestaat.Else {Write-Host "File does not exist"}
Zie meer over het Testpad van PowerShell
Guy raadt aan: gratis WMI-Monitor voor PowerShell (gratis Gereedschap)
Windows Management Instrumentation (WMI) is een van de verborgen schatten van Microsoft ‘ s besturingssystemen., Gelukkig heeft SolarWinds een gratis WMI-Monitor voor PowerShell gemaakt, zodat u deze juweeltjes aan prestatie-informatie kunt ontdekken en zo uw PowerShell-scripts kunt verbeteren.
haal het giswerk uit welke WMI-tellers moeten worden gebruikt bij het scripten van het besturingssysteem, Active Directory of Exchange Server. Probeer deze WMI-monitor eens-het is gratis.
SolarWinds WMI Monitor Download 100% gratis Tool
als logica en tactiek
Het is zeldzaam dat mijn eerste ‘als’ constructie de gewenste resultaten oplevert., Het geheim van het succes is om te experimenteren met de If-test, of als alternatief beginnen met de invoering van een of meer ‘ElseIf-tests met hun overeenkomstige {outcome block}.
in dit voorbeeld heb ik-Not in de logica geïntroduceerd:
voorbeeld 1b: PowerShell If-Not Statement Om te controleren op een Service
opmerking 6: Dit script gebruikt de eigenschap Display Name van de service. Onthoud in PowerShell ‘als dan’ bestaat niet. Let op het is duidelijk ‘als’.
Opmerking 7: let op bij het passeren van de if-Not constructie; overigens wordt-Not soms afgekort tot een uitroepteken ! in PowerShell.,
Opmerking 8: Dit script roept om een else statement. We moeten weten of de named service is geïnstalleerd.
Note 9: Zie Meer on-ErrorAction SilentlyContinue
voorbeeld 1c: PowerShell If Statement om IP-adressen te controleren
Hier is een ander real-life voorbeeld van het’ If statement ‘ in actie. Het idee is om 20 IP-adressen te pingen. De logica zegt dat als de StatusCode 0 is, dan een label ‘ON NETWORK’weer te geven.
opmerking 10: als de statements eenmaal ingewikkeld worden, is het tijd om de Switchparameter van PowerShell te onderzoeken.,
Guy raadt aan: Network Performance Monitor (gratis proefperiode)
SolarWinds Network Performance Monitor (NPM) helpt u te ontdekken wat er op uw netwerk gebeurt. Dit hulpprogramma zal u ook begeleiden bij het oplossen van problemen; het dashboard geeft aan of de hoofdoorzaak een kapotte koppeling, defecte apparatuur of overbelasting van bronnen is.
wat ik het beste vind is de manier waarop NPM oplossingen voorstelt voor netwerkproblemen. Het heeft ook de mogelijkheid om de gezondheid van individuele VMware virtuele machines te controleren., Als u geïnteresseerd bent in het oplossen van problemen en het maken van netwerkkaarten, raad ik u aan om NPM te proberen tijdens een gratis proefperiode van 30 dagen.
SolarWinds Network Performance Monitor Download gratis proefperiode van 30 dagen
voorbeeld 1D: bestandsinhoud voorbeeld van gewoon ‘ If ‘
PowerShell heeft een batch help-bestanden. Een van deze bestanden bevat hulp over de ‘if’ statement. In het voorbeeld hieronder verwijst $File naar dat bestand. $Content is ingesteld op de inhoud van het bestand. De derde regel probeert een string te matchen met de inhoud van het bestand.,
leerpunten
het bovenstaande voorbeeld heeft betrekking op het matchen van een string “the if Statement” met de inhoud van het ingebouwde help-bestand.
voorbeeld 2a:’ If ‘met’Else ‘
dit voorbeeld gaat over gewoon’Else’. Dit is een eenvoudig commando, in tegenstelling tot Elseals er geen tweede testconstructie is, volgt’ Else ‘ gewoon op om te reflecteren wat te doen als het if statement onwaar is.
leerpunten
de beste manier om te zien hoe ‘else’ werkt is door Regel 3 als volgt te wijzigen:
($File-Match “the ifyyyy Statement”).,
voorbeeld 2b: controleren of een Service is geïnstalleerd
Zie meer over PowerShell Else “
Guy raadt aan: SolarWinds Engineer ’s Toolset (gratis proefversie)
Deze Engineer’ s Toolset biedt een uitgebreide console van 50 hulpprogramma ‘ s voor het oplossen van computerproblemen. Guy zegt dat het me helpt om te controleren wat er gebeurt op het netwerk, en elke tool leert me meer over hoe het onderliggende systeem werkt.
er zijn zoveel goede gadgets; het is alsof je de vrije loop hebt van een sweetshop., Gelukkig worden de hulpprogramma ‘ s logisch weergegeven: monitoring, network discovery, diagnostic en Cisco tools. Probeer de SolarWinds Engineer ‘ s Toolset nu tijdens een gratis proefperiode van 14 dagen!
SolarWinds Engineer ‘ s Toolset Download 14-daagse gratis proefversie
voorbeeld 2C: PowerShell If-Not Logica
Het doel van dit script is om-Not logica te gebruiken om te controleren of de Alerter service beschikbaar is. Een scenario is dat u werkt met Windows 7 machines, en ze niet langer installeren van deze service.
observeer hoe-Not de ‘If’ – logica omkeert in vergelijking met Voorbeeld 1.,
opmerking 11: Zie meer voorbeelden van PowerShell ‘ s If-Not logica.
voorbeeld 2D: NetSh
Het doel van dit voorbeeld is om de status van een firewall te controleren op een Windows client machine zoals Windows 8.1 of Windows 7.
onderzoek naar If, Else en ElseIf
- voor meer informatie zie het ingebouwde About_If-bestand
- zie hoe firewalls van Windows 8 met een Groepsbeleid worden uitgeschakeld.
Get-Help About_If
Voorbeeld 3: ElseIf
dit voorbeeld heeft een echte taak; om te controleren of we de naam van een echt bestand hebben., Vergeet niet dat de tweede (test statement) moet worden gevolgd door een tweede {blok Script}.
zie veel meer over de PowerShell ElseIf constructie “
leerpunten
opmerking 12: Het voordeel van ElseIf ten opzichte van plain Else is dat we een nieuwe test kunnen introduceren. In het bovenstaande voorbeeld gebruiken we ElseIf om te controleren of de lengte van het bestand kleiner is dan 1., Om het ‘ElseIf’-blok te activeren, stel $File in op een niet-bestaand bestand, bijvoorbeeld$File = Get-Help about_ifxx
Note 13: om het laatste ‘Else’ te activeren, probeer dan:$File = Get-Help about_if
naar$File = Get-Help about_scope
als je hebt tijd, je zou meer ‘ElseIf’ verklaringen toe te voegen om tegemoet te komen aan andere eventualiteiten. Als alternatief, als de ElseIf constructie wordt steeds logge, probeer dan de superieure switch Commando.
Guy raadt aan: SolarWinds Admin bundel voor Active Directory (gratis TOOL)
Importeer gebruikers uit een spreadsheet., Geef gewoon een lijst van de gebruikers met hun velden in de bovenste rij, en opslaan als .csv-bestand. Start vervolgens dit gratis hulpprogramma en overeenkomen met uw velden met AD ‘ s attributen, klik en importeer de gebruikers.
Optioneel kunt u de naam opgeven van de organisatie-eenheid waar de nieuwe accounts zullen worden geboren. Download uw gratis bulk import tool.,”0de5877345″> SolarWinds Admin Bundel Download 100% GRATIS Tool Bundel
Als u meer uitgebreide applicatie-analyse software, Download een gratis proefversie van SAM (Server & Toepassing-Monitor).
About_If
Als u zou een andere rekening van PowerShell is Als verklaring, kijk dan eens op de ingebouwde help-bestand
# For even more information about 'If' and 'ElseIf' constructions:Get-Help about_If
Dit is Microsoft ‘ s uitleg:
if (<test1>){<statement list 1>}
Windows PowerShell evalueert de <test1> voorwaardelijke expressie waar of onwaar is., Mocht het resultaat waar zijn, dan gehoorzaamt PowerShell alles wat zich in de {accolades} bevindt, waarna PowerShell het if statement verlaat.
in het geval dat de eerste test false Is, werkt PowerShell zijn weg door de ElseIf-statements.
het ‘voertuig’ voor onze tests onthult overigens een hele familie van ‘about_zyx …’ – bestanden. Mijn punt is dat er geen commando is: ‘Get-Help if’, maar er is een help bestand genaamd,’about_if’. Verder, als je kijkt in de PowerShell directory dan zul je’ over ‘bestanden te zien om te helpen met commando’ s zoals ‘If’en ‘ ElseIf’., U kunt deze ‘About’ – bestanden weergeven met het commando:
Zie meer over Help about *
“
samenvatting van PowerShell ‘S If-constructie
als het gaat om het filteren van uitvoer, is een van de oudste en beste statements De’ If ‘ – clausule. Zoals gewoonlijk is het geheim van het begrijpen van de syntaxis om veel aandacht te besteden aan de stijl van de beugel. If (haakjes voor de test) en {accolades voor de actie}. Als je eenmaal de basis ‘als’ statement onder de knie hebt, breid dan je mogelijkheden uit door ‘Else’ en ‘ElseIf’te onderzoeken.,
Als u van deze pagina en deel het met je vrienden
meer Windows PowerShell flow control voorbeelden
• PowerShell Home • PowerShell Als Verklaring • PowerShell ElseIf • Gratis Machtigingen Analyzer
• Voorwaardelijke Operators • PowerShell -Match • PowerShell -Zoals • PowerShell -Bevat
• PowerShell vergelijkings-Operatoren • PowerShell Syntaxis • Waar Filter • PowerShell Anders
stuur een e-mail mij als u een beter voorbeeld script., Meld ook eventuele feitelijke fouten, grammaticale fouten of verbroken links, Ik zal blij zijn om de fout te corrigeren.