Benutzer aus dem AD in eine Textdatei ausgeben
Hallo zusammen,
wie kann ich auf einem Server 2008 alle Benutzer aus dem AD unterhalb einer bestimmten OU (die wiederum Unter-OUs haben kann) in eine CSV-Datei ausgeben und zwar mit folgenden Informationen:
Name, Vorname, Anmeldename, OU (wobei OU nur die unterste OU sein soll)
Danke im Voraus,
André
wie kann ich auf einem Server 2008 alle Benutzer aus dem AD unterhalb einer bestimmten OU (die wiederum Unter-OUs haben kann) in eine CSV-Datei ausgeben und zwar mit folgenden Informationen:
Name, Vorname, Anmeldename, OU (wobei OU nur die unterste OU sein soll)
Danke im Voraus,
André
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 170655
Url: https://administrator.de/forum/benutzer-aus-dem-ad-in-eine-textdatei-ausgeben-170655.html
Ausgedruckt am: 06.04.2025 um 06:04 Uhr
5 Kommentare
Neuester Kommentar

Eine Liste mit den Login names bekommst Du mit "net user /DOMAIN > userlist.txt"
detailierte Infos bekommst Du mit "wmic useraccount > userlist.txt"
damit kann man uA auch nette Abfragen aufbauen wie z.B. "wmic UserAccount where PasswordExpires=False get Name"
lg. J.H.
detailierte Infos bekommst Du mit "wmic useraccount > userlist.txt"
damit kann man uA auch nette Abfragen aufbauen wie z.B. "wmic UserAccount where PasswordExpires=False get Name"
lg. J.H.
Zitat von @SarekHL:
Hallo zusammen,
wie kann ich auf einem Server 2008 alle Benutzer aus dem AD unterhalb einer bestimmten OU (die wiederum Unter-OUs haben kann) in
eine CSV-Datei ausgeben und zwar mit folgenden Informationen:
Name, Vorname, Anmeldename, OU (wobei OU nur die unterste OU sein soll)
Danke im Voraus,
André
Hallo zusammen,
wie kann ich auf einem Server 2008 alle Benutzer aus dem AD unterhalb einer bestimmten OU (die wiederum Unter-OUs haben kann) in
eine CSV-Datei ausgeben und zwar mit folgenden Informationen:
Name, Vorname, Anmeldename, OU (wobei OU nur die unterste OU sein soll)
Danke im Voraus,
André
Hallo,
ich würde PowerShell und die ADSI-Klasse verwenden, http://technet.microsoft.com/en-us/library/ff730967.aspx liefert eine Anleitung dafür. Leider ist ADSI nicht so richtig straigthforward, da verschiedene Klassen beteiligt sind, da muss man manchmal etwas knobeln.
Außerdem könntest du die (kostenlosen) Quest AD-Tools verwenden, die erlauben auch Spezifizierung von SearchRoot & -scope: http://wiki.powergui.org/index.php/Get-QADUser
Gruß
Filipp
ich würde PowerShell und die ADSI-Klasse verwenden, http://technet.microsoft.com/en-us/library/ff730967.aspx liefert eine Anleitung dafür. Leider ist ADSI nicht so richtig straigthforward, da verschiedene Klassen beteiligt sind, da muss man manchmal etwas knobeln.
Außerdem könntest du die (kostenlosen) Quest AD-Tools verwenden, die erlauben auch Spezifizierung von SearchRoot & -scope: http://wiki.powergui.org/index.php/Get-QADUser
Gruß
Filipp
Hallo SarekHL!
Per Batch etwa so:
Es wird die Ausgabe, zB
anhand der Bezeichnungen ("dn", "samid", etc) gleichnamigen Variablen zugewiesen und aus %dn% dann die OU extrahiert.
Wenn bei Dir die Ausgabe von
anders aussähe, müsste der Auswertungsteil entsprechend angepasst werden.
Grüße
bastla
Per Batch etwa so:
@echo off & setlocal
set "OU=ou=Benutzer,dc=firma,dc=local"
set "CSV=D:\Liste.csv"
del "%CSV%" 2>nul
for /f "delims=" %%i in ('dsquery user -limit 1000 "%OU%"^|dsget user -L -dn -samid -ln -fn') do set "Zeile=%%~i" & call :ProcessLine
goto :eof
:ProcessLine
for /f "tokens=1* delims=: " %%a in ("%Zeile%") do set "%%a=%%b"
if "%Zeile:~,3%" neq "ln:" goto :eof
if not defined dn goto :eof
for /f "tokens=4 delims==," %%a in ("%dn%") do set "LastOU=%%a"
>>"%CSV%" echo %ln%;%fn%;%samid%;%LastOU%
goto :eof
dn: CN=Vorname.Nachname,OU=Test,OU=Benutzer,DC=firma,DC=local
samid: Vorname.Nachname
fn: Vorname
ln: Nachname
Wenn bei Dir die Ausgabe von
dsquery user -limit 1000 "ou=Benutzer,dc=firma,dc=local"|dsget user -L -dn -samid -ln -fn
Grüße
bastla