2017-05-03 21 views
2

Ich möchte nur überprüfen, ob es möglich ist, If-Anweisungen zu verwenden, um den Wert eines verschachtelten Befehls splat in PowerShell festzulegen. Im Folgenden finden Sie, was ich habe zur Zeit:Ist es möglich, verschachtelte Befehlsplatting zu verwenden

$SADUParams = @{ 
Identity = $SAM 
Company = $Company 
Server = $ADserver 
Replace = @{"extensionattribute11"="$Department";"extensionattribute12"="RESOURCE"} 
} 
if($PhoneNo){ 
    $SADUParams["OfficePhone"] = $PhoneNo 
} 
Set-ADUser @SADUParams 

Was ich auch Update tun möchte ExtensionAttribute12 über eine if-Anweisung wie mit der Telefonnummer in dem Beispiel.

Ist das möglich, und wenn ja, wie kann ich es codieren?

Antwort

1

Sicher, nur einfacher Zugriff auf die gewünschte Eigenschaft aus dem $SADUParams hashtable und aktualisieren:

if ($true <#yourcondition#>) 
{ 
    $SADUParams.Replace.extensionattribute12 = "your_new_value" 
} 
+1

, das so einfach war, ich weiß nicht, warum ich nicht gedacht hätte. Ich denke, ich war abgelenkt durch die Lösung der vorherigen Ausgabe, weshalb ich es wie folgt habe: $ SADUParams ["OfficePhone"] anstelle von $ SADUParams.OfficePhone – TimothyWaring

Verwandte Themen