Variable zur Ausgabe des Active Directory Benutzernamens
%username% bringt nur den "pre- Windows 2000" Namen
Hallo zusammen,
leider finde ich auf Anhieb nichts im Forum, oder ich suche mit den falschen Suchbegriffen.
Ich bräuchte den Namen der Variablen, die mir unter Active Directory den Benutzernamen ausgibt. %username% bringt leider wie oben erwähnt nur den pre W2k Namen, der sich bei uns aber vom Active Directory Namen unterscheidet.
Kann mir da jemand weiterhelfen?
Gruß & Danke schon mal!
Pat
leider finde ich auf Anhieb nichts im Forum, oder ich suche mit den falschen Suchbegriffen.
Ich bräuchte den Namen der Variablen, die mir unter Active Directory den Benutzernamen ausgibt. %username% bringt leider wie oben erwähnt nur den pre W2k Namen, der sich bei uns aber vom Active Directory Namen unterscheidet.
Kann mir da jemand weiterhelfen?
Gruß & Danke schon mal!
Pat
Please also mark the comments that contributed to the solution of the article
Content-Key: 74720
Url: https://administrator.de/contentid/74720
Printed on: April 18, 2024 at 02:04 o'clock
4 Comments
Latest comment
Hallo silbert3 und willkommen im Forum!
Da mir keine derartige Systemvariable bekannt ist, könnte ich diese nur per (hier geborgtem ) "Eigenbau" anbieten:
Zum Auslesen (genauer: Umwandeln aus der NT-Form "%USERDOMAIN%\%USERNAME%") des Namens wird ein wenig (temporäres) VBS benötigt.
Da es eine Reihe von Namensschreibweisen bzw -bestandteilen im AD gibt, müsstest Du uU das "cn" am Ende der langen Zeile durch "displayName" (Anzeigename), "sn" (Zuname), "givenName" (Vorname) oder auch "userPrincipalName" (für die Form "user@domain.tld") ersetzen.
Grüße
bastla
Da mir keine derartige Systemvariable bekannt ist, könnte ich diese nur per (hier geborgtem ) "Eigenbau" anbieten:
@echo off & setlocal
set "GN=%temp%\GetName.vbs"
echo On Error Resume Next:Set objTrans=CreateObject("NameTranslate"):objTrans.Init 3,"":objTrans.Set 3,WScript.Arguments(0):WScript.Echo GetObject("LDAP://"^&Replace(objTrans.Get(1),"/","\/")).cn>%GN%
for /f "delims=" %%i in ('cscript //nologo %GN% "%USERDOMAIN%\%USERNAME%"') do set "ADName=%%i"
del %GN%
if not defined ADName echo %USERNAME% im AD nicht gefunden! & goto :eof
echo %ADName%
Da es eine Reihe von Namensschreibweisen bzw -bestandteilen im AD gibt, müsstest Du uU das "cn" am Ende der langen Zeile durch "displayName" (Anzeigename), "sn" (Zuname), "givenName" (Vorname) oder auch "userPrincipalName" (für die Form "user@domain.tld") ersetzen.
Grüße
bastla