TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
ograniczenie czasu grania na windows 10 , marcin502 7/01/24 11:13 czesc,
czym robicie ograniczenie czasu grania na windows 10? nie chcę logowac sie do ms family safety, mam do ograniczenia grę SIMs4 wiec albo Ea, albo Epic lub dodatkowy najlepiej darmowy program.. ktoś cos takiego zrobil?- a jakiego masz windowsa ? , rulezDC 7/01/24 13:25
swego czasu dla dziei mialem na windows10 skrypt w powershellu do tego, ale dzialal tylko na pro
koniec koniec koniec - oo byloby super , marcin502 7/01/24 17:08
mam win10 pro jakis 21H2..
- cos takiego , rulezDC 7/01/24 22:09
dwa pliki:
childcutoff_install.ps1
#wgrać oba skrypty gdzieś na dysk c
# w childcutoff.ps1 $child= ustawić nazwę usera
# nazwy userow mozna sprawdzic w cmd.exe komenda 'query.exe user' to co wyświetli (obciąć znak >)
# dodatkowo można zedytować minuty na dzien tygodnia $addtime (po rzecinku od poniedziałku)
#jak to działa
#zarejestruje scheduler wywołujący childcutoff co minutę
#w zrobi folder log z datą
#co minute odejmie
# dojdzie do 0 wylogowuje usera z konsoli
Set-ExecutionPolicy RemoteSigned
$curd=$((Get-Item -Path ".\").FullName)
New-Item $curd\log -ItemType directory -ErrorAction SilentlyContinue
$action = New-ScheduledTaskAction -execute "powershell.exe" -Argument "-WindowStyle Hidden -NonInteractive -Executionpolicy bypass -file $curd\childcutoff.ps1";
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -ExecutionTimeLimit (New-TimeSpan -Minutes 2);
$trigger = New-JobTrigger -Once -At (Get-Date).Date -RepeatIndefinitely -RepetitionInterval (New-TimeSpan -Minutes 1);
Register-ScheduledTask -TaskName 'CHILD_COMP_CUT_OFF' -Trigger $trigger -Action $action -Setting $settings -description 'wylogujusera' -User 'NT AUTHORITY\SYSTEM' -RunLevel 1 | Out-Null;
child_logout.ps1
$child='nazwa_usera'
$addtime=@(150,120,120,120,120,120,150)
#$workdir = split-path -parent $MyInvocation.MyCommand.Definition
$workdir = "C:\data\scripts\childlogout"
#------
$c='console'
$wl="$workdir\logs\$child.$(get-date -Format 'yyyy-MM-dd').log"
#$aa = $env:UserName
#Write-Output $aa
if (Test-Path $wl) {
$LoggedUser = Get-WMIObject -class Win32_ComputerSystem | select username
$UserArray = $LoggedUser -split '\\'
$cu = $UserArray[1].TrimEnd('}')
if ($cu -eq $child) {
$a=Get-Content $wl
$a-=1;
$a|Set-Content $wl
$msg1 = "Ilosc minut wynosi $a"
$msg1 >> $workdir\logs\test.log
if ($a -eq 1) {
#$wshell = New-Object -ComObject Wscript.Shell
#$wshell.Popup("Drogi dziecko, niestety pozostała Ci tylko minuta czasu")
$msg4 = "$(get-date -Format 'yyyy-MM-dd') liczba minut wynosi $a"
$msg4 >> $workdir\logs\test.log
}
if ($a -lt 0) {
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("Drogie dziecko, wykorzystałeś cały czas")
$msg2 = "$(get-date -Format 'yyyy-MM-dd') liczba minut wynosi $a"
$msg2 >> $workdir\logs\test.log
(shutdown.exe /l /f)
}
}
} else {
$addtime[(get-date).DayOfWeek.value__] | Set-Content $wl
}
koniec koniec koniec - wielkie dzięki , marcin502 8/01/24 11:48
przepiszę jak z bajtka ;)
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|