Ich habe diesen Thread gefunden, der mir geholfen hat, das zu bekommen, was ich wollte. So erhalten Sie Attribute von AD-Benutzern in Umgebungsvariablen. Dieses Skript nimmt alle gewünschten Attribute vom angemeldeten Benutzer und legt eine entsprechende Umgebungsvariable fest. Ich habe den Variablen ein Präfix vorangestellt, aber das ist optional, sodass der Variablenname zu "AD [Attributname]" wird. Sie können Attribute auswählen. Fügen Sie Ihr Attribut einfach nach -attr hinzu oder entfernen Sie es. Nicht sehr nützlich für mehrwertige Attribute. Letzter (ein) Wert geht in die Umgebungsvariable.
Dieses Skript ist lokal für die aktuelle cmd.exe
for /F "tokens=1,* delims=: " %%A in ('dsquery * domainroot -l -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=%USERNAME%))" -attr adminDescription employeetype company department physicalDeliveryOfficeName street title mail') do set AD%%A=%%B
Um globale Umgebungsvariablen in Windows zu erhalten, können wir "setx" in Windows 7 verwenden. (Für Loginscript vielleicht ... aber viel langsamer.)
for /F "tokens=1,* delims=: " %%A in ('dsquery * domainroot -l -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=%USERNAME%))" -attr adminDescription employeetype company department physicalDeliveryOfficeName street title mail') do set AD%%A=%%B& setx AD%%A "%%~B" > NUL
: EDIT: Ein Leerzeichen am Ende der set-Anweisung in Beispiel 2 hat dazu geführt, dass der Wert mit einem Leerzeichen endet. Zum Korrigieren entfernt. (Set %% A = %% B & setx ...) Außerdem wurde festgestellt, dass Sie mindestens zwei Attribute exportieren müssen, damit das Skript ordnungsgemäß funktioniert.
Eine späte Antwort, aber wenn es jemandem da draußen helfen kann, bin ich glücklich.