Delprof.exe i kasowanie profili użytkowników w Windows Xp i Windows Server 2003

W walce o wolne miejsce na dysku systemowym serwera (w szczególności Serwera Terminalowego ) często kluczową rolę odgrywają profile użytkowników. Również na PC’tach w firmie, szczególnie tych, które używa większa grupa użytkowników np. w salach konferencyjnych profile regularnie zapychają dyski twarde. Systematyczne kasowanie ich pozwala uniknąć wielu nieprzyjemnych problemów i zapewni lepsze działanie systemu. Oto kilka sposobów na podejście do tematu.

Systemy Windows posiadają wygodny i skuteczny sposób na uniknięcie lokalnych profili (właściwości systemu -> zakładka „advanced” -> „user profiles” )

Wystarczy zaznaczyć niechciane profile i wcisnąć przycisk „Delete”. Choć ten sposób jest bardzo prosty, to wymaga zdalnego zalogowania na maszynie i przy większej ich liczbie jest on bardzo mało efektywny.

Innym podejściem do tematu jest usuwanie katalogów z %systemdrive%\documents and settings (Windows Server 2003) lub %systemdrive%\users (od Windows Server 2008 w górę). Jeśli robimy to ręcznie, na pewno zirytuje nas spora ilość potwierdzeń, częste komunikaty o plikach będących w użyciu oraz czas operacji. Prawdziwym bólem jest usuwanie wielu profili na zdalnym serwerze, szczególnie w odległej lokalizacji.

Oczywiście Plik Wsadowy (.bat, .cmd) i usuwanie katalogów z wiersza poleceń byłoby tu bardzo pomocne (o ile taki skrypt uwzględniałby daty katalogów), ale istnieje znacznie lepsze rozwiązanie: narzędzie DELPROF.EXE, które za darmo pobierzecie ze strony Microsoftu.

DELPROF.EXE zadziała w systemach Windows XP i Windows Serwer 2003 w środowisku okienkowym i we wierszu poleceń. Po uruchomieniu pliku .exe poprosi o potwierdzenie i skasuje wszystkie nieużywane profile na naszym komputerze:

Delete inactive profiles on \\KOMPUTER_SPECA_IT? (Yes/No)

Cała zabawa jednak zaczyna się we wierszu poleceń. Oto przykładowe polecenie wraz z objaśnieniem i lista parametrów:

delprof /q /i /r /c:\\zdalny_komputer /d:7 /q

/q: tryb „cichy” ( bez potwierdzeń )
/i: ignoruje błędy
/p: każde skasowanie profilu wymagać będzie potwierdzenia.
/r: oznacza, że zostaną skasowane tylko profile wędrujące ( profile lokalne pozostaną nienaruszone).
/c:\\zdalny_komputer ( nie wymaga wyjaśnienia 😉 )
/d:dni oznacza po ilu dniach nieaktywności profil ma być skasowany. Jeżeli profil był używany w ciągu X dni, to nie zostanie skasowany.

Oczywiście, nic nie stoi na przeszkodzie, aby w ten sposób wyczyścić wiele maszyn na raz ( z listy w pliku tekstowym). Pisałem o tym w artykule o pętli w CMD. Dla serwerów, które często miewają problemy ze zbyt dużą ilością profili niegłupim pomysłem byłoby uruchamianie automatycznego kasowania z Task Scheduler’a ( Harmonogram Zadań).

Jeśli macie jakieś sugestie lub pytania zachęcam do komentowania. Wszelkie kliknięcia w przycisk LIKE lub G+ będą mile widziane 😉

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

3 komentarze

  1. mix0999 pisze:

    Niestety ta metoda nie działa w systemach windows 7. Znacie może jakąś alternatywe?? mam do usunięcia z jednej stacji ok 40 profili, i opisana metoda z delprofem nie działa. Będę wdzięczny za jakąś podpowiedź.

  2. Jacek Muryn pisze:

    Łukasz Skalikow masz może już
    kasowaniu profili skryptem Powershell i GPO dla win7 bo mnie to zabija

Dodaj komentarz