Powershell-If-And & If-Or Statements

om deze sectie volledig te ontgrendelen dient u in te loggen

een van de beste statements voor het filteren van gegevens is de IF-clausule. Voor scripts die nauwkeurige flow control vereisen kunt u PowerShell ‘ s opnemen-en het voordeel is dat uw test nu meerdere voorwaarden kan bevatten.

het belangrijkste punt is dat je er maar één nodig hebt als.,

If (voorwaarden1 – en voorwaarden2) {Do stuff}

een alternatieve uitleg zou zijn:

If (test1-en test2) {
blokcommando uitvoeren wanneer true
}

De PowerShell als conditioneel een statement uitvoert, afhankelijk van de waarheid van de testexpressie.

Voorbeeld 1: Basic If Test

als je nieuw bent in PowerShell ‘ s implementatie van If statement dan is het de moeite waard om te beginnen met een gewone If flow control voordat je-And toevoegt.

$Calendar = Get-Date
If ($Calendar.,Month-eq ‘5’) {“This month is May”}
Else {“Not May”}

Opmerking 1: scheid de twee componenten van deze structuur als volgt: if (test) {what to do}.

Opmerking 2: vermijd overdenken; er is geen dan in een PowerShell If statement. Ons advies is dat in plaats van zorgen te maken over dan, besteden veel aandacht aan de twee soorten beugel. Verder is er geen anddif in PowerShell zoals in VBScript.

Voorbeeld 2: If – en Code

Het doel van dit script is alleen om verschillende datums te testen en ze te vergelijken met de datum van vandaag, die wordt gehouden door de variabele $Calendar., Let op de meerdere voorwaarden (twee) in de definitie van het If statement:

meerdere-en voorwaarden

zodra uw flow control werkt met één-en, het is eenvoudig (als een beetje onhandig) om meer-en voorwaarden toe te voegen. Vermijd overthink, je hoeft slechts een set van (haakjes).

Hier is een aanvullend voorbeeld met nog een paar statements met-en:

Opmerking 4: let goed op de (eerste haakjes). In het bijzonder vinden de twee tests:”.dag-eq ’25′”, ook”.Maand-eq “12””. Mijn eerste punt is dat ze gescheiden zijn door-en., Mijn tweede punt is dat er slechts één set van (condition brackets).

Opmerking 5: we hebben een paar ElseIfs en een laatste else statement toegevoegd om het script wat meer context te geven, en om ideeën te geven voor het aanpassen van je scripts.

Voorbeeld 3: – en Statement

Hier is een voorbeeld met behulp van logica om te controleren of u een standaard installatie van uw Microsoft Windows-besturingssysteem hebt.

Opmerking 5: Er zijn geen komma ‘ s in deze constructie, in het bijzonder is er geen speciale syntaxis voor de-en.,

Voorbeeld 4: – of Statement

de reden voor het opnemen van dit voorbeeld is dat-Of volgt hetzelfde patroon als PowerShell ‘s-en.

hoewel dit script is ontworpen om de kleine-of syntaxis te testen, heeft het veel vreemde code die het opstarttype verandert in handmatig. Het enige doel van deze ingewikkelde lay-out is om de logica te controleren en zo te begrijpen hoe-of werkt in PowerShell.

Productiescript: in het echte leven kunt u de code verwijderen en een commando toevoegen om de wachtrijservice daadwerkelijk te starten.,

opmerking 6: Het is altijd moeilijk om de balans te vinden tussen voorbeeldscripts die een punt illustreren en scripts die nuttig werk doen.

Opmerking 7: als de statements eenmaal ingewikkeld worden, is het tijd om de Switchparameter van PowerShell te onderzoeken.,2>

Het volgende scenario is wanneer u het nodig om te specificeren van meerdere -En en/of -Of-instructies in je Als structuur, dus gebaseerd op de mogelijkheid om code in een If-statement, kunnen we , bijvoorbeeld, het maken van twee eenvoudige instructies Als in een van de volgende modes:

If ($someAttribute -eq $false -Of $someAttribute -eq $Null){ }

Of met het volgende:

If (($someAttribute -eq $false) -of ($someAttribute -eq $Null)){ }

Dan moeten we in staat zijn om een gezamenlijke inspanning:

Dus als $someAttribute is ofwel $false of $Null EN #someUser is gelijk aan “UserID123” doe dan iets.,.. in dit geval schakelen we het attribuut someAttribute naar $true en doen wat foutcontrole.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *