Stránka 1 z 3

Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 15:51
od Uziv00
Občas se tu objevují žádosti o zrušení hesla, prolomení hesla atd., vkládané sem potrestanými potomky trpícími zjevnou zlovůlí svých rodičů :D
Tak si myslím, že je načase dát zbraň do ruky i druhé straně.
Napsal jsem sktipt ve vbs, který kontroluje každých 10 min. čas. Pokud zjistí, že hodnota času je mimo interval, zobrazí upozornění a vypne počítač.
Kód vypadá takto:

Kód: Vybrat vše

'**********************************************
'*   Skript kontroluje používání počítače     *
'*           v intervalu 10 min.              *
'*      Mimo časové limity PC vypne           *
'*                                            *
'*         Etienn@Script v. 1.0               *     
'*                                            *
'**********************************************

Dim Den, cas, cSystem, oSystem, WshNet, cName, Akce, objWMIShutDownService
WScript.Sleep 20000
Den = Weekday(Now())
'WScript.Echo Den

If Den = 7 Then Sobota
If Den = 1 Then Nedele

Do
 cas = Timevalue(Now)
 'WScript.Echo cas
 If cas > "16:00" And cas < "18:00" Then 'interval v pracovní dny
 WScript.Sleep 600000
 Else
 Hlaska
 End If
Loop
WScript.Quit

Sub Sobota
Do
 cas = Timevalue(Now)
 'WScript.Echo cas
 If cas > "10:00" And cas < "19:30" Then 'interval v sobotu
 WScript.Sleep 600000
 Else
 Hlaska
 End If
Loop
End Sub

Sub Nedele
Do
 cas = Timevalue(Now)
 'WScript.Echo cas
 If cas > "10:00" And cas < "17:30" Then 'interval v neděli
 WScript.Sleep 600000
 Else
 Hlaska
 End If
Loop
End Sub

Sub Hlaska
Dim objFuncShell, Message, Title
Message = "Použití počítače je časově omezeno. Počítač bude vypnut."
Title = "Zpráva systému"
 If IsEmpty(objFuncShell) Then Set objFuncShell = CreateObject("wscript.shell")
 objFuncShell.Popup Message, 15, Title, 16 + 4096
' Action = 1 => shutdown
' Action = 2 => restart
' Action = 0 => logoff
' Action = 8 => poweroff
' Force = Action + 4
Akce = 12
'Set WshNet = WScript.CreateObject("WScript.Network")
'cName = WshNet.ComputerName
cName = "."
Set objWMIShutDownService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & cName & "\root\cimv2")
Set cSystem = objWMIShutDownService.ExecQuery("Select * from Win32_OperatingSystem")
 For Each oSystem In cSystem
    oSystem.Win32Shutdown(Akce)
 Next
End Sub

Oznámení vypadá takto:
Hlaska.jpg
Zobrazované upozornění

Pro zprovoznění je třeba udělat následující:
- Zkopírovat text kódu do notepadu a uložit s příponou .vbs
- Uložit do složky "Po spuštění"
Hnidopichové mohou namítat, že odstranění ze složky "Po spuštění" je velice jednoduché. Proto zde zmíním ještě další způsoby jak zajistit spouštění skriptu po startu počítače.
- Můžeme využít plánovač úloh a skript spouštět jako naplánovanou úlohu po startu.
- zapsat do "profláknutého" klíče HKCU....Run
- použít mmc konzolu
Skript používám s úspěchem už nějakou dobu.

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 15:56
od Darth Vader
Dobrý. Teď to ještě dát v samorozbalováku na Uložto jako Fraps Pro.

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 16:12
od guest
Dobré! :thumbup: Rodiče jsou zde asi v menšině.

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 16:27
od CZechBoY
Vim, že ve Windows serveru je možnost omezit přihlášení na určitou dobu. Nešlo by tohle taky nějak použít v obyč widlích?

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 16:31
od Simroth
V rodičovské kontrole jde nastavit to samé :-D :-D :-D :-D

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 17:25
od Uziv00
Skript pochopitelně funguje i v systémech, které rodičovskou kontrolu nemají. Např. WinXP. Překvapení! :lol: :lol: :lol:

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 17:37
od petr22
Neco podobneho skusil kolega na 15leteho syna.

Kdyz se poprve objevila hlaska, prohlasil ze VBS ve skole uz brali a sestrelil v taskmanageru vbs.exe a bylo po skriptu.

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 17:53
od Uziv00
vbs.exe se v taskmanageru nevyskytuje. Kromě toho lze skript "zakomponovat" přímo do systému pomocí konzoly a klidně jej lze spustit např. se systémovými právy. Pak ho v taskmanageru nesestreli.

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 17:59
od SamerLP
:D hned použijem keď budem mať vlastné deti :D

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 19:48
od CZechBoY
shutdown -a nejede?

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 20:02
od petr22
Shutdown -a nejde, protoze ve chvili kdy se zobrazi hlaska jeste zadny nenastal a pak uz je pozde.

Funguje ale sestreleni vbs.exe, stejne jako s jakymkoliv jinym vbs skriptem, ktery bezi na pozadi.

Re: Něco pro rodiče - omezení provozu počítače

Napsal: 08 úno 2014 20:14
od Uziv00
Petr - už jsem na to odpovídal. Jestliže při běhu skriptu najdeš někde v procesech vbs.exe automaticky vyhráváš a stáváš se blábolem roku.