Dnia Thu, 02 Dec 2010 11:14:00 +0100, Bartosz Tura napisał(a):
> Michal Kawecki wrote:
>> Dnia Thu, 02 Dec 2010 00:30:40 +0100, Bartosz Tura napisał(a):
>>
>>> Czy można wymusić z poziomu skryptu lub dedykowanym programem aby
>>> komputer "wylogował" użytkownika a następnie wprowadził się w stan
>>> "stand-by"?
>>>
>>> Umiem zrobić każdą z tych rzeczy osobno ale nie wiem jak połączyć te
>>> dwie czynności. Proszę o poradę, może ktoś wie jak to zrobić?
>>>
>>> Bartek
>>
>> psshutdown
>
> Nie widzę opcji przeprowadzenia tych operacji jedna po drugiej na
> lokalnym komputerze, a na tym mi zależy. Czy mógłbyś podać linię
> wywołania jeśli korzystałeś z tego programu do ich wykonania w ten sposób?
Tak się nie da, gdyż najpierw chcesz wylogować użytkownika, a potem
wykonać jeszcze jakieś polecenie w jego kontekście. Poza tym psshutdown
ma pewną wadę, otóż wymaga uprawnień administratora do poprawnego
działania. Proponuję inne rozwiązanie:
- ściągnij darmowy programik Poweroff ze strony
http://users.telenet.be/jbosman/applications.html, plik poweroff.exe
wrzuć do jakiegoś folderu dostępnego dla wszystkich użytkowników,
- utwórz w tym folderze plik poweroff.cmd z zawartością:
poweroff.exe logoff
poweroff.exe standby
- utwórz nowe Zaplanowane zadanie "Poweroff", uruchamiane jednokrotnie,
wskazujące na plik poweroff.cmd i wykonywane w kontekście jakiegoś
innego _zwykłego_ użytkownika istniejącego w systemie. Zadanie to wyłącz
zaraz po utworzeniu.
- na pulpicie użytkownika, którego chcesz wylogowywać, utwórz skrót lub
plik cmd z zawartością:
schtasks.exe /Run /TN Poweroff
Teraz wystarczy tylko dwuklikiem tenże plik lub skrót uruchomić. Zadanie
wykona się w kontekście innego użytkownika, a więc nie będzie problemów
z jego kontynuacją po wylogowaniu bieżącego usera.
P.S. Tak na marginesie to nie widziałem jeszcze innego narzędzia, które
miałoby więcej opcji niż wspomniany programik Poweroff. Ciekawe, czemu
się tyle czasu przeleżał niezauważony w moim archiwum plików... :-)