Benutzerprofile mit Powershell über Taskscheduler löschen
Servus,
wir haben Probleme mit dem zurückschreiben der Servergespeicherten Profile in unserer Server 2012R2 Terminalserver Umgebung und wollten uns mit einem Workaround behelfen, bis wir den Fehler beheben können.
Da die Profile vom jeweiligen Terminal Server nicht mehr auf den Profilserver zurückgeschrieben werden, verbleiben die Profile im Dateiexplorer unter C:\Users und in zwei Registry Pfaden. Wir versuchen es mit dem folgenden Powershell-Script:
Das Script wird über die Aufgabenplanung an die Server per GPO übermittelt. Das Powershell Script selber wird dabei von einer batch Datei ausgeführt, da es Probleme gab, dass Powershell Script direkt von der Aufgabenplanung ausführen zu lassen. Die batch beinhaltet dann das hier:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File \\server01\_scripts\usercleaning.ps1
In der Aufgabenplanung wird dann also die die batch als ausführbares Programm hinterlegt:
\\server01\_scripts\start_cleaning.bat
Das Ergebnis ist folgendes: Der erste Part, der die Profile im Dateiexplorer löschen soll, funktioniert nicht, alle Profile werden aber anscheinend „angefasst“, da sie nach dem Task einen neuen Zeitstempel erhalten haben
Die beiden Registry Löschbefehle werden wie gewünscht ausgeführt. In der Ereignisanzeige wird der Task aufgeführt, dort wird aber kein Fehler protokolliert, er sagt, der Task wäre erfolgreich abgeschlossen worden.
Im Task selber haben wir folgendes definiert:
- Verwendetes Benutzerkonto: NT-AUTORITÄT\System
- Unabhängig von der Benutzeranmeldung ausführen
- Mit höchsten Berechtigungen ausführen
- Zielgruppenadressierung auf Elementebene wird nicht genutzt
Jemand eine Idee, weshalb die Ordner nicht gelöscht werden?
wir haben Probleme mit dem zurückschreiben der Servergespeicherten Profile in unserer Server 2012R2 Terminalserver Umgebung und wollten uns mit einem Workaround behelfen, bis wir den Fehler beheben können.
Da die Profile vom jeweiligen Terminal Server nicht mehr auf den Profilserver zurückgeschrieben werden, verbleiben die Profile im Dateiexplorer unter C:\Users und in zwei Registry Pfaden. Wir versuchen es mit dem folgenden Powershell-Script:
gci 'C:\Users' -Directory |?{$_.Name -notin @('Administrator','Public','Default')} |%{remove-item $_.fullname -force -Recurse}
remove-item -path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileGuid\*' -Exclude '{c2341f95-542d-465c-aeeb-97abd9de7bc2}' -Force -Recurse
remove-item -path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\*' -Exclude 'S-1-5-18', 'S-1-5-19', 'S-1-5-20', 'S-1-5-21-171377940-97917770-487470036-500' -Force -Recurse
Das Script wird über die Aufgabenplanung an die Server per GPO übermittelt. Das Powershell Script selber wird dabei von einer batch Datei ausgeführt, da es Probleme gab, dass Powershell Script direkt von der Aufgabenplanung ausführen zu lassen. Die batch beinhaltet dann das hier:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File \\server01\_scripts\usercleaning.ps1
In der Aufgabenplanung wird dann also die die batch als ausführbares Programm hinterlegt:
\\server01\_scripts\start_cleaning.bat
Das Ergebnis ist folgendes: Der erste Part, der die Profile im Dateiexplorer löschen soll, funktioniert nicht, alle Profile werden aber anscheinend „angefasst“, da sie nach dem Task einen neuen Zeitstempel erhalten haben
Die beiden Registry Löschbefehle werden wie gewünscht ausgeführt. In der Ereignisanzeige wird der Task aufgeführt, dort wird aber kein Fehler protokolliert, er sagt, der Task wäre erfolgreich abgeschlossen worden.
Im Task selber haben wir folgendes definiert:
- Verwendetes Benutzerkonto: NT-AUTORITÄT\System
- Unabhängig von der Benutzeranmeldung ausführen
- Mit höchsten Berechtigungen ausführen
- Zielgruppenadressierung auf Elementebene wird nicht genutzt
Jemand eine Idee, weshalb die Ordner nicht gelöscht werden?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5735362969
Url: https://administrator.de/contentid/5735362969
Ausgedruckt am: 22.11.2024 um 00:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
Bitte nicht Ordner/registry manuell löschen. Verwende
Für PS-Skripte als scheduled task bei Aktion eintragen:
Programm: powershell
Argumente: -File "\\server\script.ps1"
Bitte nicht Ordner/registry manuell löschen. Verwende
Get-Ciminstance Win32_UserProfile | hier filtern | Remove-Ciminstance
Für PS-Skripte als scheduled task bei Aktion eintragen:
Programm: powershell
Argumente: -File "\\server\script.ps1"
Hi
Schau dir das mal an kann man auch als Task laufen lassen.
https://helgeklein.com/free-tools/delprof2-user-profile-deletion-tool/
Mit freundlichen Grüßen
Nemesis
Schau dir das mal an kann man auch als Task laufen lassen.
https://helgeklein.com/free-tools/delprof2-user-profile-deletion-tool/
Mit freundlichen Grüßen
Nemesis
Zitat von @nEmEsIs:
Hi
Schau dir das mal an kann man auch als Task laufen lassen.
https://helgeklein.com/free-tools/delprof2-user-profile-deletion-tool/
Mit freundlichen Grüßen
Nemesis
Hi
Schau dir das mal an kann man auch als Task laufen lassen.
https://helgeklein.com/free-tools/delprof2-user-profile-deletion-tool/
Mit freundlichen Grüßen
Nemesis
Bietet keine Unterstützung für Windows 10/11, nur zur Info
Hi chaot1coz,
Und wo supported das Skript des TOs Windows 10 UWP Apps?
Da muss man dann ein paar Regwerte unberechtigten usw...
Das DelProf2 macht das gleiche, wie sein Skript.
Nur das sein Skipt vermutlich mit Longpathes Probleme bekommt.
-LiteralPath "\\?\C:\Users" könnte helfen.
Mit freundlichen Grüßen Nemesis
Und wo supported das Skript des TOs Windows 10 UWP Apps?
Da muss man dann ein paar Regwerte unberechtigten usw...
Das DelProf2 macht das gleiche, wie sein Skript.
Nur das sein Skipt vermutlich mit Longpathes Probleme bekommt.
-LiteralPath "\\?\C:\Users" könnte helfen.
Mit freundlichen Grüßen Nemesis
Wo habe ich das denn behauptet?