Skip to content


Ku pamięci: Automatyczne wyłączenie komputerów do których nikt nie jest zalogowany

Przyszło mi po Świętach zmierzyć się z zadaniem jakim jest przygotowanie metody na wyłączenie wszystkich maszyn, do których nikt nie jest zalogowany – głównie nieużywane podczas przerwy świątecznej Serwery Terminali i stacje robocze.

Z pomocą przyszedł mi program PsLoggedOn wchodzący w skład zestawu narzędzi PsTools. Pakiet PsTools rozpakowałem do głównego katalogu mojego dysku systemowego.

Przygotowałem poniższy skrypt (plik CMD):

FOR /f %%a in (c:\PsTools\shutdownlist.txt) do (
c:\PsTools\psloggedon -l \\%%a > c:\PsTools\userlist.txt
IF errorlevel 0 ((
TYPE c:\PsTools\userlist.txt | find /i “MYDOMAIN”
)
IF errorlevel 1 (
shutdown -m \\%%a -f -s -t 00
))

W pliku c:\PsTools\shutdownlist.txt umieściłem nazwy komputerów które mają być sprawdzone pod kątem zalogowanych użytkowników i ewentualnie wyłączone gdy nikt nie jest zalogowany (przełącznik –l pomija sesje nawiązane do zasobów sieciowych – w razie potrzeby można z niego zrezygnować).

W przypadku stwierdzenie zalogowanego użytkownika należącego do domeny MYDOMAIN wyłączenie stacji nie jest wykonywane.

Metoda może być wykorzystywana do cyklicznego wyłączania maszyn z pomocą harmonogramu zadań zarówno zdalnie dla wielu maszyn pracujących w domenie jak i lokalnie dla wolnostojącego komputera w grupie roboczej (dla grupy roboczej należy MYDOMAIN zamienić na nazwę maszyny i w pliku c:\PsTools\shutdownlist.txt umieścić tylko nazwę lokalnego komputera). Dodatkowo należy upewnić się, że użytkownik wykonujący zadanie ma prawa wymagane do wykonania wyłączenia maszyn.

źródła poza własnym doświadczeniem:

PsLoggedOn – TechNet

.bat to shutdown un-logged on PC’s – computing.net

Posted in ku pamięci, tech, Windows Client, Windows Server.

Tagged with , , , , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.



Skip to toolbar