Veröffentlicht Montag um 14:071 Tag Hallo in die Runde!wie kann ich am besten herausfinden, welche Anmeldescripte in dem SysVol Ordner nicht in Verwendung sind bzw. keinen Benutzer hinterlegt ist?Ich wollte jetzt nicht alles einzeln durchgehen. Vielen Dank für eure Hilfe :)
Montag um 17:451 Tag Das Problem kennt man in vielen AD-Umgebungen: Mit der Zeit sammeln sich im SysVol\scripts-Ordner haufenweise alte Anmeldeskripte, die keiner mehr braucht, aber es ist unklar, ob sie noch irgendwo referenziert werden.Es gibt ein paar pragmatische Ansätze, um herauszufinden, welche Skripte „verwaist“ sind:1. AD-Benutzerattribute durchsuchenAnmeldeskripte werden in der Regel im Benutzerobjekt hinterlegt (Attribut: scriptPath).Du kannst also alle Benutzer im AD abfragen und schauen, welche Skripte tatsächlich zugewiesen sind.PowerShell-Beispiel:# Alle Benutzer mit gesetztem LogonScript anzeigenGet-ADUser -Filter * -Properties ScriptPath | Where-Object { $_.ScriptPath -ne $null -and $_.ScriptPath -ne "" } | Select-Object SamAccountName, ScriptPath Dann kannst du eine Liste aller tatsächlich verwendeten Skripte mit den Dateien im SysVol vergleichen.2. Vergleich: vorhandene Skripte vs. referenzierte Skripte# Alle vorhandenen Skripte im SysVol-Ordner$ScriptsInSysvol = Get-ChildItem "\\<Domain>\SYSVOL\<Domain>\scripts" -File | Select-Object -Expand Name# Alle in AD referenzierten Skripte$ScriptsInAD = Get-ADUser -Filter * -Properties ScriptPath | Where-Object { $_.ScriptPath } | Select-Object -ExpandProperty ScriptPath -Unique# Skripte, die im SysVol liegen, aber nicht in AD referenziert sind:$ScriptsInSysvol | Where-Object { $ScriptsInAD -notcontains $_ }Das Ergebnis ist die Liste der „verwaisten“ Skripte.3. Achtung: GruppenrichtlinienAnmeldeskripte können auch über GPOs verteilt sein (Computer- oder Benutzerrichtlinien: „Windows-Einstellungen → Skripts (Anmelden/Abmelden)“).Daher zusätzlich prüfen, ob Skripte dort referenziert sind:PowershellGet-GPOReport -All -ReportType XML | Select-String -Pattern ".vbs|.bat|.cmd"So findest du heraus, ob GPOs noch Skripte nutzen.Vorschlag:Erst alle AD-Benutzer-Referenzen sammelnDann alle GPO-Referenzen prüfenDanach Abgleich mit den Dateien im SysVol → alles, was übrig bleibt, ist höchstwahrscheinlich obsoletJa, das ist von Chatgpt.
Montag um 19:461 Tag vor 1 Stunde, StefanE hat gesagt:Ja, das ist von Chatgpt.Ahh, daher das Update. Eine KI Anbindung wurde implementiert. ;)Ja, das Cmdlet Get-ADUser -Filter * -Properties ScriptPath ist die Lösung. Bat Dateien waren mal sehr populär um denen Benutzern schnell Laufwerke unterzuschieben, leider hat das zu vielen Altlasten geführt als sich die Möglichkeiten weiterentwickelt haben.Fokussiere dich als erstes auf die Scriptnamen und vergleiche die verwendeten mit denen die es unter sysvol gibt. Du wirst unter Garantie schon die ersten finden, die nicht verwendet werden. Schon hast du nur die Scripte in Verwendung und kannst von da aus weitergehen, z.b. den Inhalt vergleichen und gucken ob es Doppelungen gibt.
Gestern um 07:511 Tag Autor Hallo zusammen!vielen Dank für die genialen Antworten!!Das PS-Script von Variante 1 hat mir schon wirklich sehr geholfen. Das PS-Script von Variante 2 schaue ich mir zeitnah an. Beste Grüße!
Gestern um 11:551 Tag Autor Hallo zusammen, ich bin die zwei Scripte Variante 1 und Variante 2 durchgegangen. Funktioniert perfekt - vielen Dank!Da hier die Pflege des AD absolut die letzten Jahre vernachlässigt worden ist, habe ich noch eine weitere Frage zu einen Script. Ich habe eine OU, wo die deaktivierten AD-Benutzer abgelegt sind. Gibt es ein Script, was das Attribut scriptPath leert bzw. den Eintrag entfernt?Beste Grüße an alle!
vor 23 Stunden23 h Autor Nachtrag: Habe es gefunden: Get-ADUser -Filter * -SearchBase "OU=distinguishedName" | Set-ADUser -Clear scriptpath
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.