none
Automatisiertes Aufräumen via Datenträgerbereinigung / Cleanmgr RRS feed

  • Frage

  • Hi,

    ich habe eine Firmennetzwerk unter meiner Kontrolle ;).

    Nun möchte ich, dass meine Clients, (mittlerweile alle Windows 10) regelmäßig von altlasten bereinigt werden (z.b. Backup vor Win 10 1511 Update). Da viele Clients virtuell sind, macht das insbesondere bei meinem SAN sinn. - Kann ich auch nur jeden anderen Empfehlen

    An sich, bin ich wie folgt vorgegangen,

    via cleanmgr /sageset:8 habe ich ein Profil angelegt (Bereinigungsprofil)

    Dieses habe ich dann aus der Registry exportiert und via GPO auf alle meine Clients verteilt. Über einen geplanten Task der auch via GPO verteilt wird, soll dann die bereinigung via cleanmgr /sagerun:8 erfolgen.

    Das Funktioniert wirklich großartig.... Bis auf ein Problem. Da ich auch die  Vorherigen Windows Installationen sowie Temporäre Windows Installationsdaten löschen möchte, kommt aber nach ausführen des cleanmgr /sagerun:8 Befehls folgende Meldung, die natürlich bestätigt werden müsste. 

    ---

    Wenn die vorherigen Windows Installationen oder temporären Installationsdateien bereinigen, sind sie nicht mehr in der Lage, auf dem Computer die vorherige Windows-Version wiederherzustellen. Möchten Sie den Vorgang wirklich fortsetzen?

    Ja     Nein

    ----

    Jetzt die alles entscheidende Frage, wie ich das hinkriege, entweder ohne die Meldung, oder dass die Meldung (z.B. durch Autoit) besätigt werden kann. Leider bin ich kein Autoit experte. Auch muss bedacht werden, dass die Meldung nur erscheint, wenn tatsächlich Daten vorhanden sind. Wenn keine Vorhanden sind, z.B. weil sie schon aufgeräumt wurden, erscheint diese Meldung nicht. Zudem ist diese Meldung so blöd programmiert, dass Sie hinter dem eigentlichen Datenträgerbereinigungs-Fenster erscheint.

    Ich bin für jede Lösung die mich der 100 % Automatisierung näher bringt dankbar. Das würde bestimmt auch einigen hier Weiterhelfen.


    Dienstag, 15. Dezember 2015 20:36

Antworten

  • Hallo Crash,

    habe das gerade ausgiebig durchgetestet. Es sieht nicht so aus, als wäre das mittels des CleanMgr machbar. Wenn man die GUI umgeht - z. B. mit Taskscheduler - dann läuft er zwar durch, aber der Windows.old-Ordner bleibt stehen. Teste das mal mit der GPO, aber eigentlich müsste sich das gleich verhalten.

    AutoIT kann ich nicht wirklich empfehlen - das geht bestimmt damit irgendwie, aber nein.

    Was du machen könntest wäre den Windows.old per Skript zu entfernen (nicht so schön) und anschließend die Bereinigung komplett laufen lassen.

    Hier schon mal der cleanmgr-Part:

    Set-Location 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\'
    
    foreach ($item in $(Get-ChildItem).PSPath)
    {
        if (-not (Get-ItemProperty -Path $item -Name 'StateFlags1234'))
        {
            New-ItemProperty -Path $item -Name 'StateFlags1234' -Value 2
        }   
    }
    
    cleanmgr.exe /sagerun:1234 


    Best regards,

    David das Neves



    Please vote as helpful and mark as answer if a post helped you.
    This posting is provided "AS IS" with no warranties, and confers no rights.


    Samstag, 19. Dezember 2015 03:20

Alle Antworten

  • Hallo,

    haben Sie schon über Group Policy Preference versucht?

    Gruß,

    Teodora


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.


    Mittwoch, 16. Dezember 2015 14:45
    Moderator
  • Hallo,

    für die Datenträgerbereinigung gibt es doch keine fertigen GPOs. Oder haben Sie hier einen Tipp?

    Gruß

    Crash Override

    Donnerstag, 17. Dezember 2015 18:17
  • Hallo  Crash,

    ich habe es bei mir getestet. Funktioniert mit einem Script über PowerShell am besten.

    Erstellen Sie ein Startup Script in dem GPO Editor. Schauen Sie sich das Bild an.

    Hier finden Sie Download Link für einen Script, der eigentlich alles macht. Den Brauchen Sie nicht mehr, weil Sie die Registry-Einträge schon gesetzt haben. Sie Brauchen erst nur folgendes machen (falls Sie das noch nicht gemacht haben):

    1. Cleanmgr.exe should go in %systemroot%\System32.
    2. Cleanmgr.exe.mui should go in %systemroot%\System32\en-US.

    Mehr Info finden Sie hier

    Dann brauchen Sie den folgenden Befehl als .ps1 zu speichern (Das können Sie, am leichtesten mit PowerShell ISE machen.):

    cleanmgr /sagerun:8

     

    Über den Script werden Sie diese Konformation Meldung vermeiden.

    Gruß,

    Teodora


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Freitag, 18. Dezember 2015 08:31
    Moderator
  • Hallo Crash,

    habe das gerade ausgiebig durchgetestet. Es sieht nicht so aus, als wäre das mittels des CleanMgr machbar. Wenn man die GUI umgeht - z. B. mit Taskscheduler - dann läuft er zwar durch, aber der Windows.old-Ordner bleibt stehen. Teste das mal mit der GPO, aber eigentlich müsste sich das gleich verhalten.

    AutoIT kann ich nicht wirklich empfehlen - das geht bestimmt damit irgendwie, aber nein.

    Was du machen könntest wäre den Windows.old per Skript zu entfernen (nicht so schön) und anschließend die Bereinigung komplett laufen lassen.

    Hier schon mal der cleanmgr-Part:

    Set-Location 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\'
    
    foreach ($item in $(Get-ChildItem).PSPath)
    {
        if (-not (Get-ItemProperty -Path $item -Name 'StateFlags1234'))
        {
            New-ItemProperty -Path $item -Name 'StateFlags1234' -Value 2
        }   
    }
    
    cleanmgr.exe /sagerun:1234 


    Best regards,

    David das Neves



    Please vote as helpful and mark as answer if a post helped you.
    This posting is provided "AS IS" with no warranties, and confers no rights.


    Samstag, 19. Dezember 2015 03:20
  • Hi david,

    sorry da muss ich dich enttäuschen. Wie ich das in eine GPO packe ist mir vollkommen klar. Das Problem ist, das ausführen des cleanmgr.exe /Sagerun Befehls. Der wird nur ohne GUI Interaktion funktionieren, wenn nichts da ist zum aufräumen. Wenn was da ist zum Aufräumen (also alte Windows Version - vor Upgrade) kommt oben benannte Meldung (AUCH via cmd Befehl).

    Daher wird es bei deinem Test warscheinlich nur funktioniert haben, weil du halt nichts zum Aufräumen hast.

    Trotzdem danke für deine Mühe.

    Wenn jemand ne Lösung hat, nur her damit.

    Dienstag, 5. Januar 2016 23:24
  • Hallo Crash,

    habe das gerade ausgiebig durchgetestet. Es sieht nicht so aus, als wäre das mittels des CleanMgr machbar. Wenn man die GUI umgeht - z. B. mit Taskscheduler - dann läuft er zwar durch, aber der Windows.old-Ordner bleibt stehen. Teste das mal mit der GPO, aber eigentlich müsste sich das gleich verhalten.


    Was du machen könntest wäre den Windows.old per Skript zu entfernen (nicht so schön) und anschließend die Bereinigung komplett laufen lassen.

    Schau auch hier

    Best regards,

    David das Neves



    Please vote as helpful and mark as answer if a post helped you.
    This posting is provided "AS IS" with no warranties, and confers no rights.


    Mittwoch, 6. Januar 2016 09:18