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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 74720
Url: https://administrator.de/contentid/74720
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
4 Kommentare
Neuester Kommentar
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