Znalazłem ten wątek, który pomógł mi zdobyć to, czego chciałem. Aby uzyskać atrybuty użytkowników AD w zmienne środowiskowe. Ten skrypt pobiera wszystkie wymagane atrybuty od zalogowanego użytkownika i ustawia odpowiednią zmienną środowiskową. Prefiksowałem zmienne, ale jest to opcjonalne, więc nazwa zmiennej staje się „AD [nazwa atrybutu]”. Atrybuty są do wyboru, wystarczy dodać lub usunąć atrybut po -attr. Jednak niezbyt przydatne w przypadku atrybutów wielowartościowych. Ostatnia (jedna) wartość trafia do zmiennej środowiskowej.
Ten skrypt jest lokalny w stosunku do bieżącego 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
Aby uzyskać globalne zmienne środowiskowe w systemie Windows, możemy użyć „setx” w systemie Windows 7. (Być może dla loginu ... ale znacznie wolniej.)
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
: EDYCJA: znak spacji na końcu instrukcji set w przykładzie 2 spowodował, że wartość kończy się pustą spacją. Usunąłem to, aby poprawić. (Zestaw %% A = %% B & setx ...) Odkryłem również, że musisz wyeksportować co najmniej dwa atrybuty, aby skrypt działał poprawnie.
Późna reakcja, ale jeśli może pomóc komukolwiek tam, jestem szczęśliwy.