Lokale Administratoren von allen Clients in einer Domäne auslesen pt.2
Hi Admins,
ich möchte gerne aus meiner gesamten Domäne User mit lokalen Adminkonten (automatisch) identifizieren und eliminieren (das geht auch händisch).
Zuerst dachte ich an eine Funktion im SCCM/MECM o.ä. allerdings bin ich da bis jetzt nicht fündig geworden.
Ich bin allerdings im Forum hier auf folgenden (schon in die Jahre gekommenen Beitrag gestoßen:
Lokale Administratoren von allen Clients in einer Domäne auslesen
Es klingt für mich schon schlüssig, das über das LogonScript zu lösen, allerdings kann ich mir nicht vorstellen, dass es hierfür keine neuere Funktion gibt, obwohl das Thema schon eine hohe Relevanz hat.
Ich wäre euch dankbar, wenn ihr mich hierzu auf den Neuesten Stand bringen könntet <3
ich möchte gerne aus meiner gesamten Domäne User mit lokalen Adminkonten (automatisch) identifizieren und eliminieren (das geht auch händisch).
Zuerst dachte ich an eine Funktion im SCCM/MECM o.ä. allerdings bin ich da bis jetzt nicht fündig geworden.
Ich bin allerdings im Forum hier auf folgenden (schon in die Jahre gekommenen Beitrag gestoßen:
Lokale Administratoren von allen Clients in einer Domäne auslesen
Es klingt für mich schon schlüssig, das über das LogonScript zu lösen, allerdings kann ich mir nicht vorstellen, dass es hierfür keine neuere Funktion gibt, obwohl das Thema schon eine hohe Relevanz hat.
Ich wäre euch dankbar, wenn ihr mich hierzu auf den Neuesten Stand bringen könntet <3
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4631997956
Url: https://administrator.de/contentid/4631997956
Ausgedruckt am: 24.11.2024 um 09:11 Uhr
9 Kommentare
Neuester Kommentar
Wenn wirklich alle in der Domäne sind, dann Get-LocalGroupMember Administrators über das AD Fragen...
Moin
Frage ist, worauf Dein Hauptaugenmerk liegt. Wenn es um das Eliminieren geht, dann einfach "Eingeschränkte Gruppen konfigurieren" und das Thema ist vom Tisch.
Gruß
Frage ist, worauf Dein Hauptaugenmerk liegt. Wenn es um das Eliminieren geht, dann einfach "Eingeschränkte Gruppen konfigurieren" und das Thema ist vom Tisch.
Gruß
Hi,
das nicht gefunden ?
https://www.itninja.com/blog/view/audit-local-administrator-group-with-s ...
Mit freundlichen Grüßen
das nicht gefunden ?
https://www.itninja.com/blog/view/audit-local-administrator-group-with-s ...
Mit freundlichen Grüßen
Deploye als immediate Task, welcher lokal als Systemkonto läuft (von einem read-only(!) Share):
bei englischen Systemen
bei deutschen Systemen:
Die Skripte listen alle Admins außer den zu erwartenden. Bei Fehlern wird eine Datei !%computername% im Logshare erstellt. Das Gute: wenn KEINE Admins außer den zu erwartenden (Administrator und Domänen-Admins) gefunden werden, ist die Dateigröße 0KB, somit findet man "Offenders" sehr schnell, wenn man die Ausgabedateien im Explorer nach Dateigröße anordnet.
bei englischen Systemen
Get-LocalGroupMember -group administrators
if ( $? -eq $false ) {
out-file \\server\logshare\adminaccounts\!$env:computername.txt
}
Get-LocalGroupMember -Group Administrators | sls Administrator,Domänen-Admins -NotMatch | out-file \\server\logshare\adminaccounts\$env:computername.txt
bei deutschen Systemen:
Get-LocalGroupMember -group administratoren
if ( $? -eq $false ) {
out-file \\server\logshare\adminaccounts\!$env:computername.txt
}
Get-LocalGroupMember -Group Administratoren | sls Administrator,Domänen-Admins -NotMatch | out-file \\server\logshare\adminaccounts\$env:computername.txt
Die Skripte listen alle Admins außer den zu erwartenden. Bei Fehlern wird eine Datei !%computername% im Logshare erstellt. Das Gute: wenn KEINE Admins außer den zu erwartenden (Administrator und Domänen-Admins) gefunden werden, ist die Dateigröße 0KB, somit findet man "Offenders" sehr schnell, wenn man die Ausgabedateien im Explorer nach Dateigröße anordnet.
@DerWoWusste
Gleich sprachunabhängig ist besser ...
Gleich sprachunabhängig ist besser ...
Get-LocalGroupMember -Group (Get-LocalGroup -SID S-1-5-32-544)
Zitat von @4400667902:
@DerWoWusste
Gleich sprachunabhängig ist besser ...
@DerWoWusste
Gleich sprachunabhängig ist besser ...
Get-LocalGroupMember -Group (Get-LocalGroup -SID S-1-5-32-544)
Du hast da einen unnötigen Schritt drin, geht auch so:
Get-LocalGroupMember -SID S-1-5-32-544
ich möchte gerne aus meiner gesamten Domäne User mit lokalen Adminkonten (automatisch) identifizieren und eliminieren
Get-LocalGroupMember -SID S-1-5-32-544 | Where-Object ObjectClass -ne Gruppe | Remove-LocalGroupMember -Group S-1-5-32-544
Falls du einen Admin-Account behalten willst kannst du ihn so rausfiltern:
Get-LocalGroupMember -SID S-1-5-32-544 | Where-Object ObjectClass -ne Gruppe | Where-Object Name -NotMatch "Administrator" | Remove-LocalGroupMember -Group S-1-5-32-544
Administrator gegen den Namen des Accounts austauschen, der Adminrechte behalten soll.
Prinzipiell immer erst mit -WhatIf am Ende ausführen, dann wird die Aktion nicht direkt ausgeführt sondern erstmal nur angezeigt was passiert wenn.
Wenn du die Befehle auf allen PCs sofort ausführen möchtest, könntest du so etwas machen:
(vorausgesetzt WinRM ist konfiguriert)
$computers = get-adComputer -filter { Enabled -eq $true } | Select-Object -ExpandProperty Name
Invoke-Command -ComputerName $computers -ScriptBlock {Get-LocalGroupMember -SID "S-1-5-32-544" } -ErrorAction SilentlyContinue
Dieser Zweizeiler fragt alle nicht deaktivierten Computer aus dem AD ab und listet dir die Admins darauf auf.
Aufpassen dass du dir nicht die Gruppe Domain Admins aus der Gruppe rauswirfst.
Du hast da einen unnötigen Schritt drin, geht auch so:
Stimmt da war doch noch was 🙃. Kartoffeln vor der Linse ...