Skocz do zawartości

Skrypt ktory wychwyci zmianę czasu po synchronizacji czasu?


Rekomendowane odpowiedzi

Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.

Możesz użyć polecenia shutdown

 

Przykład:

 

shutdown -s -t 10000 

 

Dodać do autostaru lub skorzystać z polecenia Net User , Klik

 

Aby dodać konto użytkownika dla Jana Kowalskiego, uprawnionego do logowania od godziny ósmej rano do piątej po południu od poniedziałku do piątku (bez spacji w oznaczeniach godzin), z obowiązkowym hasłem (jank) oraz pełnym imieniem i nazwiskiem użytkownika, należy wpisać:

 

net user jank /add /passwordreq:yes /times:poniedziałek-piątek,8am-5pm/fullname:"Jan Kowalski"

 

Aby ustawić dozwolony czas logowania dla użytkownika jank (od ósmej rano do piątej po południu) przy użyciu formatu 24-godzinnego, należy wpisać:

 

net user jank /time:Pn-Pt,08:00-17:00

 

Aby ustalić czas logowania dla użytkownika jank (od ósmej rano do piątej po południu) przy użyciu formatu 12-godzinnego, należy wpisać:

 

net user jank /time:Pn-Pt,8am-5pm

 

Aby określić czas logowania dla użytkownika marial od czwartej rano do piątej po południu w poniedziałek, od pierwszej do trzeciej po południu we wtorek i od ósmej rano do piątej po południu od środy do piątku, należy wpisać:

 

net user marial /time:Pn,4am-5pm;W,1pm-3pm;Ś-Pt,8:00-17:00

 

Odnośnik do komentarza

Dziękuję, to już mam zrobione, czyli:

-Ustawione godziny logowania dla syna poprzez net user

-net accounts /forcelogoff:2 ale dla pewności jeszcze ustawiłem na określoną godzinę shutdowna

 

Problem w tym, że jak mnie nie ma w domu to resetuje hasło w BIOSie i zmienia godzinę tak żeby mogł się zalogować.

 

Wg mnie najlepszym rozwiązaniem byłoby napisanie skryptu logowania, który:

-sprawdzałby połączenie z internetem, jeśli by nie było to by wyłączył komputer

-następnie sprawdziłby czas z zewnętrznym źródłem, jeśli ten czas różniłby się o np. 10 minut z czasem na komputerze to również wyłączyłby komputer

 

Ewentualnym rozwiązaniem byłoby uniezależnić zmiany czasu zegara w BIOSie na zegar w systemie operacyjnym

 

Napisałem skrypt, który rozwiązuje powyższy problem. (w pliku wynik.txt jest poprawny komunikat po poleceniu w32tm /resync, również komputer musi być podłączony do internetu, ponieważ użytkownik się nie zaloguje):

 

@ECHO OFF

ping wp.pl -n 2 > nul

IF NOT %ERRORLEVEL%==0 GOTO END

IF NOT EXIST "C:\Documents and Settings\Administrator\wynik.txt" GOTO END

set time1=%time%

set time1=%time1:~0,5%

set data1=%date%

set czas1=%data1% %time1%

w32tm /resync > "C:\Documents and Settings\Administrator\wynik1.txt"

fc "C:\Documents and Settings\Administrator\wynik.txt" "C:\Documents and Settings\Administrator\wynik1.txt" > nul

IF NOT %ERRORLEVEL%==0 GOTO END

set time2=%time%

set time2=%time2:~0,5%

set data2=%date%

set czas2=%data2% %time2%

IF NOT "%czas1%"=="%czas2%" GOTO END

GOTO OK

:END

shutdown.exe -s -t 60 -f

:OK

Odnośnik do komentarza

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...