Verwenden von get-aduser-Attributen als Bedingungen

1713
mweldinger

Ich habe eine Liste von Mitarbeitern, die Skype-Zugriff benötigen, und ich möchte aus dieser Liste ein Benutzer-Skript erstellen, das jedoch nur für Personen ausgeführt wird, die nicht über msRTCSIP-UserEnabled als Nullwert verfügen.

Im Folgenden wird angezeigt, ob msRTCSIP-UserEnabled vorhanden ist / True

get-aduser -identity $username -Properties msRTCSIP-UserEnabled 

Ich muss den Wert als Bedingung in etwas verwenden

foreach($username in $userlist) {  if (get-aduser -identity $username -Properties msRTCSIP-UserEnabled -eq $null)   else   } 

Ich habe alles richtig funktioniert / ausgeben, aber ich kann nicht herausfinden, wie man den msRTCSIP-UserEnabled-Attributwert als Bedingung verwendet. Ich habe versucht, mich umzusehen, aber alles, was ich dazu sehe, ist das Abrufen von Informationen aus AD, keine spezifische Dateiliste.

1
Punt: Versuchen Sie, den Wert in einer Variablen zu speichern, bevor Sie ihn in der if-Anweisung überprüfen. Ich habe seit einigen Jahren kein Skript mehr gemacht, also bin ich unsicher, was die beste Syntax angeht, aber die if-Bedingung (der Teil zwischen den Klammern) erscheint mir verdächtig. Die Aufteilung des Werts in eine Variable würde die if-Bedingung vereinfachen. Bob Smiley vor 7 Jahren 0
Genau das musste ich tun. mweldinger vor 7 Jahren 0

2 Antworten auf die Frage

0
leinad13

Ich bin nicht sicher, ob ich deine Frage vollständig verstehe, aber würde so etwas funktionieren?

foreach ($username in $userlist) { $aduser = get-aduser -Identity $username -Properties msRTCSIP-UserEnabled  if ($aduser.'msRTCSIP-UserEnabled' -ne $null) { ##Code to Run user creation / output script } } 
Es sieht so aus, als ob Sie richtig verstehen. Grundsätzlich muss ich den Wert des AD-Attributs msRTCSIP-UserEnabled verwenden, um die lync-Benutzererstellung zu ermitteln oder nicht auszuführen. Wie würde ich nur das msRTCSIP-UserEnabled-Attribut speichern? mweldinger vor 7 Jahren 0
0
mweldinger

Mit etwas Hilfe von leinad13 habe ich es herausgefunden.

foreach ($Username in $userlist)  {  $User = get-aduser $username -properties msRTCSIP-UserEnabled $LyncStatus = $User.'msRTCSIP-UserEnabled'   if ($lyncstatus -notlike "True") { #run add lync user script } }