Domänen Benutzer mit Windows per Powershell auslesen

Reinhard77

Lieutenant
Registriert
Feb. 2019
Beiträge
896
Kann ich Domänenbenutzer eines Servers von einem Client Windows Pro und aufwärts her auslesen?

Ich denke eher nicht, da dann das entsprechende CMDlet fehlt..

Also wenn ich z.B.

PowerShell:
get-aduser -ldapfilter "(&(&(objectCategory=user)(userAccountControl=512)))" | where-object -property enabled -eq true

ausführe, dann bekomme ich die Fehlermeldung, das

Die Benennung "get-aduser" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder
eines ausführbaren Programms erkannt.

da das entsprechende CMDlet halt nicht auf dem Client System installiert ist.

Aber wenn ich z.B. mit

PowerShell:
get-aduser -Server $domainName -ldapfilter "(&(&(objectCategory=user)(userAccountControl=512)))" | where-object -property enabled -eq true

explizit einen Server, mit dem Parameter -Server, angebe müsste es ja eigentlich funktionieren, aber es fehlt auf dem Client System das entsprechende CMDlet?!

Es müsste doch gehen, das ich dieses fehlende CMDlet vorher installiere oder nicht?

Nachtrag: sorry, sollte eigentlich in die Kategorie "Programmieren" (kann ich das noch verschieben?)
 
Zuletzt bearbeitet:
Vollkommen egal in welcher Kategorie, und nein, gehört nicht in Programmieren, ist hier schon richtig. Nein, der Parameter -Server bezieht sich auf das (nicht existierende) CMDlet. Wie soll das also gehen? Oder kannst du hinter jedes beliebige CMDlet einfach -Server setzen?

Wenn dann müsstest du wohl richtiges PowerShell-Remoting machen.
 
@Reinhard77

Du musst das Active Directory Powershell Paket installiert haben.
Das bringt das benötigte Modul mit, welches das Cmdlet get-aduser enthält.

Ich meine in Windows Pro Clientsystemen kann man das als Optionales Feature im Rahmen der RSAT Tools installieren.
 
Man könnte ja auch das machen:
https://www.google.com/search?q=cmdlet+get-aduser

Dann sieht man sowas:
1677096812247.png

Da wird zwar für Windows 8 beschrieben, hört sich aber nicht so an, als wäre das für Windows 10 groß anders.
 
tollertyp schrieb:
Vollkommen egal in welcher Kategorie, und nein, gehört nicht in Programmieren, ist hier schon richtig. Nein, der Parameter -Server bezieht sich auf das (nicht existierende) CMDlet. Wie soll das also gehen? Oder kannst du hinter jedes beliebige CMDlet einfach -Server setzen?

Hier stehen alle Parameter von get-ADUser. Darunter auch -Server

tollertyp schrieb:
Wenn dann müsstest du wohl richtiges PowerShell-Remoting machen.

Und wie soll das aussehen? Zeig doch mal ein Beispiel. Ich kenne das nicht.

Habe hier ein paar Zeilen bebaut, bin mir aber nicht sicher ob der Code funktioniert. Aber so ähnlich stelle ich mir sowas vor:

PowerShell:
$allUsers = @(get-aduser -Server $domainName -ldapfilter "(&(&(objectCategory=user)(userAccountControl=512)))" | where-object -property enabled -eq true)

$user = $benutzerName

for ($i=0; $i lt $allUsers.length; $i++)
{
    Write-Host $allUsers[$i]
    if ($user -eq $allUser[$i])
    {
        Write-Host "Der Domänen-Benutzer ist auf dem Server vorhanden."
    }
    else
    {
        #MessageBox Ausgabe bzw. 
        #tu dies oder das
    }

#Alternativ mit foreach:
#foreach ($i in $allUsers){
#   Write-Host $i
#}
}
 
Zuletzt bearbeitet:
Sagt dir Google etwas? Sorry...

Und danke, dass du mir die Paramter auflistest. Ich wiederhole: Der Paramater bezieht sich auf den Befehl. Und nicht umgekehrt. Wo kein Befehl, da kein Parameter. Das sagt dir die Fehlermeldung. Also sorge dafür, dass der Befehl funktioniert.
 
DocWindows schrieb:
@Reinhard77

Du musst das Active Directory Powershell Paket installiert haben.
Das bringt das benötigte Modul mit, welches das Cmdlet get-aduser enthält.

Ich meine in Windows Pro Clientsystemen kann man das als Optionales Feature im Rahmen der RSAT Tools installieren.

Und wie bekomme ich dieses Modul?

Wenn ich

PowerShell:
Install-WindowsFeature -Name "RSAT-AD-PowerShell" -IncludeAllSubFeature

ausführe bekomme ich diese Fehlermeldung:

Install-WindowsFeature : Die Benennung "Install-WindowsFeature" wurde nicht als Name eines Cmdlet, einer Funktion,
einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der
Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
  • Install-WindowsFeature -Name "RSAT-AD-PowerShell" -IncludeAllSubFeatu ...
  • ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Install-WindowsFeature:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Ergänzung ()

tollertyp schrieb:
Sagt dir Google etwas? Sorry...

Also sorge dafür, dass der Befehl funktioniert.

Klar, wenn mir einer zeigt wie sowas geht..Ich weiß nicht mal wonach ich suchen soll?! "Powershell Modul installieren" wäre eine Option und dann muss man wissen welches Modul, wie der Befehl aussieht usw.

Sorry, aber in der Masse der Infos heutzutage, sieht man oft die Nadel im Heuhaufen nicht..
 
tollertyp schrieb:
Ist es schwer Eigeninitiative zu zeigen?

Ja ne. Heute jedenfalls nicht mehr. Ich suchte eine rasche Lösung für die Fragestellung, musste aber feststellen, dass es so fix mal eben nicht geht. Also: aufgeschoben ist nicht aufgehoben.

Trotzdem erstmal: Danke.

Nachtrag: habe eben das passende Modul und den Befehl zum installieren gefunden!

PowerShell:
Add-WindowsCapability -online -Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0"

müsste der hier oben gewesen sein, wenn es nicht diese Installation vorher gewesen ist?!

hätte mal vorher den Befehl:

PowerShell:
get-aduser -ldapfilter "(&(&(objectCategory=user)(userAccountControl=512)))" | where-object -property enabled -eq true

zum testen nehmen sollen. Jetzt weiß ich nicht welche Installation es war..

Wie man sieht, es gibt immer mehrere Wege die zum Ziel führen, was es nicht unbedingt nur leichter macht.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: tollertyp
@Reinhard77 Soweit ich das richtig erinnere, fügt der Download von der Microsoft Seite alle Tools in ein Repository auf deinem Computer hinzu. Aktivieren kannst du sie dann über den Add-WindowsCapability Befehlt, oder über "Windows Features aktivieren/deaktivieren" in der klasischen Programm Deinstallationsübersicht von Windows.
 
DocWindows schrieb:
@Reinhard77 Soweit ich das richtig erinnere, fügt der Download von der Microsoft Seite alle Tools in ein Repository auf deinem Computer hinzu. Aktivieren kannst du sie dann über den Add-WindowsCapability Befehlt, oder über "Windows Features aktivieren/deaktivieren" in der klasischen Programm Deinstallationsübersicht von Windows.

Ne, habe ich nochmal auf einen anderen Rechner getestet und es reicht der Befehl:

PowerShell:
Add-WindowsCapability -online -Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0"

um das genannte/benötigte Modul zu installieren.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: tollertyp
Zurück
Oben