Powershell: get-localgroupmember -group "Administratoren " vs. net localgroup administratoren
Ich möchte alle lokalen Administratoren auf einem Windows Server identifizieren.
Auf einem Win10 bzw. Win11-Desktop liefern mir der Powershell-Befehl:
Auf Windows Server 2016 und 2019 Maschinen liefert mir der o. g. Kommandozeilenbefehl die erwarteten lokalen Admins. Der o. g. Powershell-Befehl bricht mit: "Die Gruppe Administratoren wurde nicht gefunden" ab.
Leider fehlt mir da eine nachvollziehbare Begründung. Wieso kann findet das cmdlet die Administratoren-Gruppe nicht?
Auf einem Win10 bzw. Win11-Desktop liefern mir der Powershell-Befehl:
get-localgroupmember -group "Administratoren";
das gleiche Ergebnis wie der Kommandozeilenbefehl: net localgroup administratoren
.Auf Windows Server 2016 und 2019 Maschinen liefert mir der o. g. Kommandozeilenbefehl die erwarteten lokalen Admins. Der o. g. Powershell-Befehl bricht mit: "Die Gruppe Administratoren wurde nicht gefunden" ab.
Leider fehlt mir da eine nachvollziehbare Begründung. Wieso kann findet das cmdlet die Administratoren-Gruppe nicht?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1977686384
Url: https://administrator.de/contentid/1977686384
Ausgedruckt am: 24.11.2024 um 01:11 Uhr
9 Kommentare
Neuester Kommentar
Powershell-Befehl bricht mit: " Die Gruppe Administratoren wurde nicht gefunden" ab.
Wohl falsche Sprache gewählt, dort heißen die verm. "Administrators" , unabhängig von der Sprache bekommst du die mit der SID der Administrators GroupGet-LocalGroupMember -Group (Get-Localgroup -SID 'S-1-5-32-544')
Sind das zufällig Domänencontroller ? Wenn ja dann ist das klar, dort wird diese Gruppe damit nicht zurückgeliefert ... Da musst du
nehmen weil es ja eine Builtin-AD Gruppe ist.
Get-LocalGroupMember hat auch einen Bug wenn gelöschte Admins in der Gruppe auftauchten, dann lieferte es Fehler.
Hier gibt's einen Fix
Abfrage lokaler Gruppenmitgliedschaften in Windows - Bug umschiffen
In so einem Fall kommt aber im Normalfall eine andere Fehlermeldung (das Array-Einträge nicht vergleicht werden konnten)
Get-ADGroupMember Administratoren
Get-LocalGroupMember hat auch einen Bug wenn gelöschte Admins in der Gruppe auftauchten, dann lieferte es Fehler.
Hier gibt's einen Fix
Abfrage lokaler Gruppenmitgliedschaften in Windows - Bug umschiffen
In so einem Fall kommt aber im Normalfall eine andere Fehlermeldung (das Array-Einträge nicht vergleicht werden konnten)
Zitat von @1915348599:
Sind das zufällig Domänencontroller ? Wenn ja dann ist das klar, dort wird diese Gruppe damit nicht zurückgeliefert ... Da musst du
nehmen weil es ja eine Builtin-AD Gruppe ist.
So ist es, das wäre auch mein Tipp, das er "Get-LocalGroupMember" auf einem DC versucht Sind das zufällig Domänencontroller ? Wenn ja dann ist das klar, dort wird diese Gruppe damit nicht zurückgeliefert ... Da musst du
Get-ADGroupMember Administratoren
Grüße Uwe
Aus dem verlinkten Beitrag von mir geht hervor, dass das auf Github schon ausführlich diskutiert wurde und immer noch wird. Mein Thread mit Uwes Skript ist dort auch verlinkt worden.
Dort gibt es einen weiteren Workaround, bitte testen und feedback, @Oliver16
Dort gibt es einen weiteren Workaround, bitte testen und feedback, @Oliver16
For those who run into this problem, and just need a workaround, here is a snippet that should give you what you need:
$localAdminGroupWmi = Get-WMIObject Win32_Group -Filter "Name='Administrators'" $localAdminGroupWmi.GetRelated("Win32_UserAccount")
This will subsequently list all User Accounts that are members of the Administrators group. Please note that "Administrators" is not language agnostic. For a Windows PC with Norwegian language, it would be "Administratorer" for instance.
If you need to check if a specific account is member of the admin group, you could then do something like this:
If you need to check if a specific account is member of the admin group, you could then do something like this:
if($null -eq ($localAdminGroupWmi.GetRelated("Win32_UserAccount") | Where-Object -Property Caption -Like -Value "*\AdminAccount")) { Write-Host "No account with name "AdminAccount" found in the Administators group" }
Zitat von @Oliver16:
Auf Windows Server 2016 und 2019 Maschinen liefert mir der o. g. Kommandozeilenbefehl die erwareteten lokalen Admins. Der o. g. Powershell-Befehl bricht mit: "Die Gruppe Administratoren wurde nicht gefunden" ab.
Auf Windows Server 2016 und 2019 Maschinen liefert mir der o. g. Kommandozeilenbefehl die erwareteten lokalen Admins. Der o. g. Powershell-Befehl bricht mit: "Die Gruppe Administratoren wurde nicht gefunden" ab.
Ich glaube nicht das er da auf den o.g. speziellen Fehler mit Get-LocalGroupMember gestoßen ist, denn dann wäre die Fehlermeldung anders. Ich tippe wie @1915348599 das er das auf DCs ausgeführt hat denn da ist das normal das Get-LocalGroupMember die Administrators Gruppe nicht auflistet.