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 ;)


  • mix0999

    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ź.

  • Jacek Muryn

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