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:
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.