danane 10 Geschrieben 7. Juli 2009 Melden Teilen Geschrieben 7. Juli 2009 Hallo, Ich möchte alle Cookies bei den Userprofilen löschen, die älter sind als 60 Tage. Speziell ist, dass die Userprofile nicht im Standardpfad C:\Dokumente und Einstellungen liegen, sondern auf einer anderen Partition. Ich habe hier ein Script, dass aber noch nicht funktioniert. Statt objShell.ExpandEnvironmentStrings("%USERNAME%") müsste man irgendwie eine Variabel definieren. (Diese steht dann für jeden Userordner. Zum Beispiel D:\User1 oder D:\User2) Danke für jeden Hinweis Set objShell = CreateObject("WScript.Shell") strProfile = "D:\" & objShell.ExpandEnvironmentStrings("%USERNAME%") & "\Cookies\" strFolder = strProfile & "Cookies" intDaysOld = 60 dteDate = DateAdd("d", intDaysOld, Now) Set objFSO = CreateObject("Scripting.FileSystemObject") For Each objFile In objFSO.GetFolder(strFolder).Files If objFile.DateLastModified < dteDate Then On Error Resume Next objFSO.DeleteFile objFile.Path, True Err.Clear On Error GoTo 0 End If Next Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 7. Juli 2009 Melden Teilen Geschrieben 7. Juli 2009 Hallo, Hast du schon versucht, die Variable %userprofile% benutzen? Oder die Property "profilePath" des Accounts aus dem AD auslesen? cu blub Zitieren Link zu diesem Kommentar
danane 10 Geschrieben 10. Juli 2009 Autor Melden Teilen Geschrieben 10. Juli 2009 Es klappt nicht mit so einer Variabel. Das System muss einfach jeden Userordner im Laufwerk D:\ durchgehen und dessen Cookies löschen, die älter sind als X Tage. Es ist aber kein Standarduserpfad. Darum funktionieren die %-Variabeln nicht.... Hat jemand noch einen Tipp? Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 10. Juli 2009 Melden Teilen Geschrieben 10. Juli 2009 Zunächst mal fürs Verständnis: Du möchtest auf einem Server, auf dem alle Userprofile liegen, die Cookies löschen mit einem Script? Oder sind diese Userprofile über alle Clients auf lokalen Laufwerken verteilt? Oder soll das Script als Loginscript bei jedem User laufen? Wenn's auf dem Server über alle Profile laufen soll, geht natürlich keine Variable %Username o.ä. Da würde sich eine For-Next-Schleife anbieten, die entw. per LDAP die Usernamen abfragt oder aus einer Liste (Textdatei z.B.) die Usernamen holt. Zitieren Link zu diesem Kommentar
danane 10 Geschrieben 10. Juli 2009 Autor Melden Teilen Geschrieben 10. Juli 2009 Hallo Cybquest Ich möchte das Script auf dem Server laufen lassen. Im Prinzip müsste das Script einfach von Ordner zu Ordner springen. Wie löst man das am besten mit einer For-Next Schleife? Mit einem Batch würde das irgendwie so gehen, nur müsste man noch angeben, dass es eben nur ältere Dateien löschen soll.... cd /D D:\ for /D %%a in (*.*) do RMDIR "D:\%%a\Cookies\*.*" Zitieren Link zu diesem Kommentar
kirschi68 10 Geschrieben 26. August 2009 Melden Teilen Geschrieben 26. August 2009 (bearbeitet) ist zwar schon paar Tage her aber ich stehe auch gerade vor dem Cookie-Problem: Es gibt ein Programm namens delage32, vielleicht kann man das mit einbauen. Mit dem for%% kenn ich mich leider nicht aus, bei mir müßten aus F:\Profiles\%username%\Cookies alles gelöscht werden was älter als z.B. 120 Tage ist... EDIT ein erster Test hat geklappt: ffor /R %%a in ("Cookies\*.txt") do S:\Testordner\delage32.exe "%%a" 120 batch und delage32 liegen im Testordner bearbeitet 26. August 2009 von kirschi68 Ergänzung Zitieren Link zu diesem Kommentar
mahn 10 Geschrieben 26. August 2009 Melden Teilen Geschrieben 26. August 2009 Powershell! :) - mit get-childitem die Files selektieren - in einer Pipe durch Where-Object {((get-date) - $_.CreationTime).Days -gt 60} die Objekte rausfiltern welche älter als 60 Tage sind - diese Ausgabe wiederum per Pipe an Remove-Item übergeben damit konnte ich alle delage32 Tasks durch Boardmittel ersetzen. Zitieren Link zu diesem Kommentar
kirschi68 10 Geschrieben 26. August 2009 Melden Teilen Geschrieben 26. August 2009 Powershell! :) - mit get-childitem die Files selektieren - in einer Pipe durch Where-Object {((get-date) - $_.CreationTime).Days -gt … Ich glaub dazu bin ich zu dusselig, aber Recht hast Du, mit Boardmitteln ist erste Wahl. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.