malika
Goto Top

Windows PowerShell - Ausgabe der Domain User in CSV-Datei

Hallo zusammen,

ich möchte unter Windows alle Users einer Domäne in einfache Liste ausgeben. Was mache ich falsch?

net group "My domain" /domain | Export-Csv .\domain-users.csv -NoTypeInformation -Encoding UTF8  

Danke für die Tipps!

Content-ID: 524726

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

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

Mikrofonpartner
Mikrofonpartner 12.12.2019 um 17:10:06 Uhr
Goto Top
Hallo

Ohne Fehlermeldung ausgeführt? AD-Modul ist importiert?

Gruß Mikro
malika
malika 12.12.2019 um 17:19:27 Uhr
Goto Top
Hi Mikro,

Zitat von @Mikrofonpartner:
Ohne Fehlermeldung ausgeführt? AD-Modul ist importiert?

In der Ausgabedatei steht dann:

"Length"  
"71"  
"0"  
"31"  
"43"  
"0"  
...
ITvortex
ITvortex 12.12.2019 um 17:26:14 Uhr
Goto Top
Hey,

wieso nimmst du nicht get-aduser * ?

LG
malika
malika 12.12.2019 um 17:38:11 Uhr
Goto Top
Zitat von @ITvortex:
wieso nimmst du nicht get-aduser * ?

Darf ich nicht (Vorgabe).
Mikrofonpartner
Mikrofonpartner 12.12.2019 um 19:21:57 Uhr
Goto Top
Zitat von @malika:

Zitat von @ITvortex:
wieso nimmst du nicht get-aduser * ?

Darf ich nicht (Vorgabe).

Hausaufgaben? Oder wer verbietet hier Cmdlets?

Dann schau dir mal alte Befehle von anno sonst wann.

https://support.microsoft.com/en-us/help/556003

Nebenbei liefert net group Gruppen, keine Nutzer. Deine Endergebnis wird durch Export-CSV hervorgerufen.
142232
Lösung 142232 13.12.2019 aktualisiert um 12:51:52 Uhr
Goto Top
Kein AD Modul, kein Problem ...

Export-CSV erwartet als Input über die Pipe immer Objekte und keine Strings! Das kann da oben also nur schief gehen, denn "net group" liefert eben nur Strings ...
([adsisearcher]'(objectclass=User)').FindAll() | %{[pscustomobject]@{Username=$_.Properties.SamAccountName;Name=$_.Properties.Name}} | export-csv .\domain-users.csv -Delimiter ";" -Notype -Encoding UTF8   
malika
malika 16.12.2019 um 12:36:47 Uhr
Goto Top
Zitat von @Mikrofonpartner:
Nebenbei liefert net group Gruppen, keine Nutzer. Deine Endergebnis wird durch Export-CSV hervorgerufen.

face-wink Wenn Du im Befehl den Gruppenname eingibst dann bekommst Du die Liste der Benutzer der Gruppe. Beispiel:

net group "Deine Gruppe" /domain  
malika
malika 16.12.2019 um 12:44:44 Uhr
Goto Top
Zitat von @142232:

Kein AD Modul, kein Problem ...

Export-CSV erwartet als Input über die Pipe immer Objekte und keine Strings! Das kann da oben also nur schief gehen, denn "net group" liefert eben nur Strings ...
> ([adsisearcher]'(objectclass=User)').FindAll() | %{[pscustomobject]@{Username=$_.Properties.SamAccountName;Name=$_.Properties.Name}} | export-csv .\domain-users.csv -Delimiter ";" -Notype -Encoding UTF8   
> 

Danke aber der Befehl ist nicht vollständig oder?
142232
142232 16.12.2019 aktualisiert um 13:37:01 Uhr
Goto Top
Danke aber der Befehl ist nicht vollständig oder?
Sicher ist der vollständig, wenn du ihn dir mal in Ruhe angesehen hättest! That's all you need.
malika
malika 16.12.2019 um 14:18:05 Uhr
Goto Top
Zitat von @142232:

Danke aber der Befehl ist nicht vollständig oder?
Sicher ist der vollständig, wenn du ihn dir mal in Ruhe angesehen hättest! That's all you need.

1. Teil bisz zum 1. Pipe geht und danach die Fehlermeldung:

Cannot index into a null array.
At line:1 char:52
+ ([adsisearcher]'(objectclass=User)').FindAll() | %{[pscustomobject]@{Username=$_ ...  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) , RuntimeException
    + FullyQualifiedErrorId : NullArray
malika
malika 16.12.2019 um 14:25:11 Uhr
Goto Top
Ausgabe vom 1. Teil:


PS C:\Users\MYPC> ([adsisearcher]'(objectclass=User)').FindAll()  
Path                                                                            Properties
----						                                ---------
LDAP://CN=User A,OU=Deaktive Computer,OU=XY,DC=XY,DC=ABC   	                {ridsetreferences, logoncount, codepage, objectcategory...}
142232
142232 16.12.2019 aktualisiert um 14:48:06 Uhr
Goto Top
Dann lass bei dir mal den Array-Verweis in den Properties des CustomObjects weg, da wird je nach PS Version und Server-Version manchmal ein anderer Typ zurückgegeben.