Potrzebuję (nie sobie oczywiście) ograniczyć pracę na komputerze do 2 godzin (nie ważne po co, ma być i koniec ). Najlepiej byłoby, gdyby po zalogowaniu się i przepracowaniu np. 30 minut, było można się wylogować, względnie wyłączyć komputer i później go z powrotem włączyć. Absolutnie niedopuszczalna jest możliwość ponownego włączenia komputera po przepracowaniu tych 2 godzin (do końca doby).
Ponieważ nie znalazłem programu, który byłby bezpłatny i by mnie zadowolił (tzn. znalazłem, ale pod jedyny słuszny system z pingwinem w logo, co nie wchodzi w grę), postanowiłem napisać skrypt bat. Oto co udało mi się stworzyć:
@echo off
setlocal enableextensions
set /a godz0=%time:~0,2%
echo %godz0%
set /a godz2=%time:~0,2%+2
echo %godz2%
echo>dzien.vbs WScript.Echo WeekDayName(Weekday(Date),true)
for /f %%d in ('cscript //nologo dzien.vbs') do set dzien=%%d
del dzien.vbs
echo %dzien%
net user /nazwausera/ /times:%dzien%,%godz0%-%godz2%
shutdown /s /t 7200 /c "Masz 2 godziny na granie etc ;-)"
Dodałem go do autostartu za pomocą rejestru.
Jak wiadomo, blokada powinna przestać działać po skończeniu się danego dnia tygodnia (zmienna %dzien%). Po włączeniu komputera następnego dnia nie można się jednak zalogować, co jest bardzo dziwne, bo skrypt działa prawidłowo (po wklepaniu komend w konsoli Windowsa wszystko gra, zgadzają się zmienne). Dlaczego więc to nie działa?