Alles zum Thema Windows Clients für den Desktop: Windows 95 / 98 / NT / 2000 / XP / Vista / Win 7 — Q & A zu den Windows Client Versionen sowie Windows Media Center / Windows Home Server
Ich möchte in meinem Netzwerk (100PC's XPSP2, W2K3 DC) mittels Logoff Script und GPO den Ordner %TEMP% bei jedem herunterfahren bzw. neu starten leeren.
Anscheinend hat sich MS hierzu immer noch keine Gedanken gemacht bzw. wüsste ich jetzt nicht wie es in einem Netzwerk einfacher geht, den ganzen Müll zyklisch zu löschen.
Folgendes Bat File habe ich erstelle
@echo off
cd %temp%
rd %temp% /S /Q
Da Batchfile funktioniert manuell einwandfrei und es funktioniert auch wenn ich dieses Script mittesl lokaler Gruppenrichtlinie (gmpedit.msc) am Client einrichte.
Sobald ich jedoch das ganze in meine AD Struktur einbaue, kommt zwar beim Herunterfahren/Neustarten das Fenster "Abmeldescripts werden ausgeführt", allerdings wird der Ordner %temp% nicht geleert.
Die GPO habe ich in der Computerkonfiguration->WindowsEinstellungen->Scipts->Herunterfahren eingestellt. Das Script liegt auch am richtigen Speicherort, ansonsten würde ja die Meldung "Abmeldescripts werden ausgeführt" nicht erscheinen.
Hat dazu jemand eine Idee oder eine andere Lösung um die %temp% Files zu löschen?
warum willst du eigentlich den Ordner löschen, warum nicht den Inhalt?
Ausserdem steigst du mit cd %temp% in den Ordner und willst ihn mit rd %temp% löschen. Das geht nicht.
Es könnte so gehen.
cd\
rd %temp% /s /q
Probiere es mal aus!
Ich lösche über ein Logoutscript den Inhalt des LW d:\ mit rd d:\ /s /q.
Ich sehe aber gerade etwas Entscheidendes. Die Variable %temp% enthält einen benutzerabhängigen Pfad. Der ist aber beim Herunterfahren nicht mehr gültig. Man muss das also nicht beim Herunterfahren sondern beim Abmelden des Benutzers machen.
Das "Abmelde-Batch" wird via GPO mit Systemrechten ausgeführt. Möglicherweise existiert in dem Profil die Variable %temp% nicht. Führe mal in dem Script "set > C:\myvars.txt" aus und schaue Dir dann den Inhalt an.