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-Key: 134321

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

Printed on: April 25, 2024 at 16:04 o'clock

Member: cardraft
cardraft Jan 25, 2010 at 18:39:09 (UTC)
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/
Member: bastla
bastla Jan 25, 2010 at 18:47:47 (UTC)
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
Member: joni2000de
joni2000de Jan 25, 2010 at 21:32:39 (UTC)
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
Member: bastla
bastla Jan 25, 2010 at 21:45:58 (UTC)
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
Member: joni2000de
joni2000de Jan 26, 2010 at 08:04:42 (UTC)
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
Member: bastla
bastla Jan 26, 2010 at 08:43:43 (UTC)
Goto Top
Hallo joni2000de!
gibt es hier eine Liste oder heißt es probieren?
Derartiges ist leicht zu finden - etwa hier ...

Grüße
bastla
Member: joni2000de
joni2000de Jan 26, 2010 at 10:58:05 (UTC)
Goto Top
Hi bastla,

nochmal danke. Das hat mich sehr weitergebracht!

Gruß Joni