So finden Sie eine Liste der lokalen Administratoren auf Computern

Sich einen Überblick darüber zu verschaffen, wer auf Ihren Windows-Rechnern Administratorrechte besitzt, kann manchmal etwas knifflig sein, insbesondere wenn Sie viele Rechner verwalten oder Berechtigungen überprüfen möchten. Dieser Leitfaden zeigt Ihnen, wie Sie eine Liste der Benutzer und Gruppen erstellen, die der lokalen Administratorgruppe angehören – egal ob auf einem einzelnen PC oder in einem ganzen Netzwerk von Servern und Desktops. So erkennen Sie potenzielle Sicherheitslücken oder behalten einfach den Überblick darüber, wer Administratorzugriff hat. Und ja, es ist überraschend einfach, sobald Sie die Befehle und Tools beherrschen. Der größte Vorteil? Sie können den gesamten Vorgang bei Bedarf automatisieren und sich so die zeitaufwendigen manuellen Prüfungen sparen. Auf diese Weise wissen Sie sofort, wenn sich ein Benutzer oder eine Gruppe unbefugt Zugang zur Administratorgruppe verschafft hat, und können entsprechend reagieren.

So finden Sie heraus, wer in der lokalen Administratorgruppe unter Windows Mitglied ist

Lokale Administratoren auf dem lokalen Computer finden

Windows bietet eine integrierte Möglichkeit, die Mitglieder der Administratorgruppe anzuzeigen: die Computerverwaltung ( compmgmt.msc).Öffnen Sie diese einfach, gehen Sie zu „Lokale Benutzer und Gruppen“, dann zu „Gruppen“ und doppelklicken Sie auf „Administratoren“. Ganz einfach. Für Skripte oder schnelle Überprüfungen ist PowerShell jedoch unübertroffen. Sie können folgenden Befehl ausführen:

Get-LocalGroupMember -Group "Administrators"

Dieser Befehl listet alle Mitglieder – Benutzer, Gruppen oder Dienstkonten – mit Administratorrechten auf. Die vollständige Liste ist besonders hilfreich bei der Fehlerbehebung oder der Bereinigung von Berechtigungen. Auf manchen Rechnern wird dieser Befehl möglicherweise nicht sofort ausgeführt – beispielsweise, weil das Konto nicht vollständig aktualisiert ist oder ein Problem mit dem Energiesparplan vorliegt. Ein erneuter Befehl oder ein Neustart des Rechners behebt das Problem oft.

Wenn Sie die Nutzung auf lokale Benutzer beschränken möchten (nicht auf Domänen- oder Azure AD-Gruppen), können Sie die Filterung weiter anpassen:

Get-LocalGroupMember -Group "Administrators" | Where-Object { (Get-LocalUser $_. SID -ErrorAction SilentlyContinue).Enabled }

So sehen Sie nur Benutzer mit tatsächlich aktivierten Konten auf dem lokalen System. Achtung: Wenn Ihre Umgebung Active Directory verwendet (was wahrscheinlich der Fall ist, wenn Sie mit Domänencomputern arbeiten), sind viele Administratorrechte an AD-Gruppen gebunden. Die SID-Filterung hilft dabei, lokale Benutzer von AD-verwalteten Benutzern zu unterscheiden.

Windows macht es einem natürlich unnötig schwer. Mit den RSAT-Tools (Remote Server Administration Tools) erhält man jedoch einige bessere Optionen, insbesondere beim Skripten zum Zugriff auf AD-Gruppen und deren Mitglieder. Man kann AD zwar auch direkt abfragen, aber das ist ein ganz anderes Thema.

Informationen über AD-Benutzer oder -Gruppen in den lokalen Administratoren abrufen

In manchen Konfigurationen benötigen Sie detailliertere Informationen zu Benutzern in Active Directory, die der lokalen Administratorgruppe angehören, wie beispielsweise deren Status oder Kontonamen. Hierfür eignen sich die PowerShell-Befehle ` Get-ADGroupMember` und `Get-ADUser`. Hier ist ein kniffliges Beispiel, das ich verwendet habe:

$admins = Get-LocalGroupMember -Group "Administrators" | Where-Object { $_. PrincipalSource -eq "ActiveDirectory" } foreach ($admin in $admins) { if ($admin.objectclass -eq "User") { Get-ADUser $admin. SID | Select-Object SamAccountName, Enabled } elseif ($admin.objectclass -eq "Group") { Get-ADGroupMember $admin. SID | ForEach-Object { Get-ADUser $_ | Select-Object SamAccountName, Enabled } } }

Diese Methode durchsucht Active Directory (AD) und ermittelt Benutzernamen sowie den Status ihrer Konten. Nicht alle Umgebungen verfügen über so viele Berechtigungen, aber in manchen Domänen ist dies die einzige Möglichkeit, um festzustellen, wer tatsächlich Administratorrechte besitzt.

Abrufen von Administratormitgliedern von einem Remote-Rechner

Wenn Sie herausfinden möchten, wer auf einem Remote-PC oder -Server zur Administratorgruppe gehört, ist das mit PowerShell nach der Einrichtung der Remoteverbindung recht einfach. Sie müssen WinRM aktivieren und sicherstellen, dass der TCP-Port 5985 in Ihrer Firewall geöffnet ist, was etwas umständlich sein kann. Führen Sie anschließend Befehle wie die folgenden aus:

Invoke-Command -ComputerName wsk-m2211 -ScriptBlock { Get-LocalGroupMember -Group "Administrators" | Select Name, ObjectClass, PrincipalSource }

Dies gibt die Liste direkt vom Remote-Rechner zurück. Um mehrere Ziele gleichzeitig zu überprüfen, können Sie einfach eine Liste übergeben:

$computers = @("wsk-m2211", "srv-sql01", "srv-rds02") Invoke-Command -ComputerName $computers -ScriptBlock { Get-LocalGroupMember -Group "Administrators" | Where-Object { $_. Name -notlike "*Domain Admins*" } | Select-Object Name, ObjectClass, PrincipalSource }

Exportieren Sie diese Informationen als CSV-Datei, indem Sie die Funktion „Export-Csv“ aufrufen. Zum Beispiel:

$results | Export-Csv -Path "C:\PS\admins.csv" -NoTypeInformation -Encoding UTF8

Wenn Sie eine ganze Domäne mit Active Directory verwalten, können Sie mit dem Befehl `Get-ADComputer` alle Windows Server-Rechner auflisten, deren Namen durchlaufen und die Befehle remote ausführen. Beachten Sie jedoch: Es können Fehler auftreten, wenn Server offline sind oder unterschiedliche Berechtigungen haben. In diesem Fall müssen Sie eine Fehlerbehandlung implementieren oder Fehler stillschweigend ignorieren.

So entfernen Sie Benutzer aus der lokalen Administratorgruppe

Eine geringe Anzahl lokaler Administratoren freut die Sicherheitsverantwortlichen. Manuelle Bereinigung ist in Ordnung, wenn sie nur einmalig durchgeführt wird. Für regelmäßige Überprüfungen sind Gruppenrichtlinienpräferenzen oder eingeschränkte Gruppen jedoch die bessere Wahl – sie verwalten automatisch die Mitglieder der Administratorgruppe. Falls eine schnelle Bereinigung erforderlich ist, eignet sich PowerShell hervorragend.

Remove-LocalGroupMember -Group "Administrators" -Member "username"

Und für entfernte Computer fügen Sie es einfach in einen Invoke-Command ein. Zum Beispiel:

Invoke-Command -ComputerName wsk-m2211 -ScriptBlock { Remove-LocalGroupMember -Group "Administrators" -Member "username" }

Es ist ziemlich mühsam, die Benutzer, die man entfernen möchte, manuell auszuwählen. Intelligenter ist es, alle aktuellen Administratoren zu erfassen und die unerwünschten dann visuell auszuwählen. Die Ausgabe kann an Out-GridView weitergeleitet werden, um aus einer Liste auszuwählen.

$results = Invoke-Command wsk-m2211, wsk-m2233 { Get-LocalGroupMember -Group "Administrators" | Where-Object { $_. Name -notlike "*Domain Admins*" } | Select-Object Name, ObjectClass, PrincipalSource, SID } $prinolsToRemove = $results | Out-GridView -Title "Select users to remove" -OutputMode Multiple foreach ($pr in $prinolsToRemove) { Invoke-Command -ComputerName $pr. PSComputerName -ScriptBlock { Remove-LocalGroupMember -Group "Administrators" -Member $using:pr. Name } }

So wählen Sie die zu entfernenden Benutzer aus, und das Skript entfernt sie von allen Remote-Rechnern. Nicht perfekt, aber besser als dies immer wieder manuell zu tun. Denken Sie daran, $using:dass Sie mit dieser Konstruktion lokale Variablen an Ihre Remote-Sitzungen übergeben können – eine Kleinigkeit, die aber viel Ärger erspart.

Hoffentlich bietet dies einen guten Ausgangspunkt für die Verwaltung lokaler Administratorrechte auf verschiedenen Rechnern. Es ist nicht narrensicher, und manchmal funktioniert etwas nicht auf Anhieb. Rechnen Sie also mit etwas Ausprobieren. Sobald die Skripte jedoch laufen, sparen Sie enorm viel Zeit und erhöhen die Sicherheit.

Zusammenfassung

  • Verwenden Sie Get-LocalGroupMember, um die Administratoren lokal aufzulisten.
  • AD-Gruppen mit Get-ADGroupMember abfragen
  • Führen Sie nach der Einrichtung von WinRM Remote-Prüfungen mit Invoke-Command durch.
  • Automatisieren Sie die Bereinigung mit PowerShell-Skripten und Out-GridView.

Zusammenfassung

Herauszufinden, wer Administratorrechte hat, muss kein Albtraum sein. Sobald die Skripte eingerichtet sind, behalten Sie die Berechtigungen im Blick, entfernen unerwünschte Benutzer und vermeiden unangenehme Überraschungen. Die Einrichtung ist anfangs etwas aufwendig, lohnt sich aber definitiv, wenn Sicherheit oder Compliance wichtig sind. Gehen Sie beim Ausprobieren vorsichtig vor und denken Sie daran: Windows macht es einem manchmal unnötig schwer. Hoffentlich spart Ihnen diese Anleitung ein paar Stunden – mir hat sie jedenfalls geholfen.