joni2000de
Goto Top

Mitels batch Ort aus Eigenschaften eines AD-Useres auslesen

Hallo Admins,

ich suche eine Möglichkeit den Ort aus den Eigenschaften des AD des angemeldeten Users mittels eines batch-Scripts auszulesen. Alles was ich bisher gefunden habe schaut recht kompliziert aus. Kennt jemand hierfür eine einfach Lösung, mit der ich als Hobbyadmin auch zurande komme?

Danke für eure Tipps.

Gruß Joni

Content-ID: 134321

Url: https://administrator.de/contentid/134321

Ausgedruckt am: 08.11.2024 um 19:11 Uhr

cardraft
cardraft 25.01.2010 um 19:39:09 Uhr
Goto Top
Warum nimmst dafür nicht LDAP, also wenns im Netz ist face-wink
http://de.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol

ODer probiers mit Gruppenrichtlinien, dann kannst die Einstllungen festlegen

http://www.gruppenrichtlinien.de/
bastla
bastla 25.01.2010 um 19:47:47 Uhr
Goto Top
Hallo joni2000de!

Etwa so:
@echo off & setlocal
set "G=%temp%\GetL.vbs"  
>"%G%" echo WScript.Echo GetObject("LDAP://" ^& CreateObject("ADSystemInfo").UserName).l  
for /f "delims=" %%i in ('cscript //nologo "%G%"') do set "Ort=%%i"  
echo %Ort%
Grüße
bastla
joni2000de
joni2000de 25.01.2010 um 22:32:39 Uhr
Goto Top
Hi bastla,

genau so! face-smile Danke

Wenn du noch etwas für meine Bildung tun möchtest wäre ich für eine kurze Hintergrundinfo über die Funktion zu haben. Ich möcht ja auch was dazulernen face-wink

Gruß Joni
bastla
bastla 25.01.2010 um 22:45:58 Uhr
Goto Top
Hallo joni2000de!

Aber gern ... face-smile

Wie auch von cardraft oben vorgeschlagen, wird einfach eine LDAP-Abfrage ausgeführt. Dazu erstellt der Batch ein VBScript, welches über
CreateObject("ADSystemInfo").UserName
den angemeldeten User ermittelt und danach dessen "l"-Attribut (= "Ort") über "LDAP" ausliest und (bei Aufruf über "cscript" in die Konsole) ausgibt.

Um das Ergebnis in eine Batch-Variable zu bekommen, wird das Script aus einer "for /f"-Schleife gestartet, was es ermöglicht, die Ausgabe zeilenweise zu verarbeiten - da hier nur eine Zeile zurückgegeben wird, kann diese unmittelbar der Variablen %Ort% zugewiesen werden.

Das Script besteht nur aus der einen Zeile
WScript.Echo GetObject("LDAP://" & CreateObject("ADSystemInfo").UserName).l 
und muss übrigens nicht immer neu erstellt werden - Du kannst es auch als "GetL.vbs" (oder mit einem anderen Namen) auf eine Freigabe (zB zum Logon-Script) legen und so aufrufen:
for /f "delims=" %%i in ('cscript //nologo "\\Server\Share\GetL.vbs"') do set "Ort=%%i"
Grüße
bastla
joni2000de
joni2000de 26.01.2010 um 09:04:42 Uhr
Goto Top
Hi bastla,

ich habe gestern auch noch etwas über dem Script "gebrütet". Bis auf das Attribut konnte ich dem ganzen folgen.

I = Ort
gibt es hier eine Liste oder heißt es probieren?

Gruß Joni
bastla
bastla 26.01.2010 um 09:43:43 Uhr
Goto Top
Hallo joni2000de!
gibt es hier eine Liste oder heißt es probieren?
Derartiges ist leicht zu finden - etwa hier ...

Grüße
bastla
joni2000de
joni2000de 26.01.2010 um 11:58:05 Uhr
Goto Top
Hi bastla,

nochmal danke. Das hat mich sehr weitergebracht!

Gruß Joni