Если вам нужно настроить мониторинг за компьютером во время работы вашего ребёнка, вы можете использовать программное обеспечение называемое "кейлоггер". Однако если ваше "чадо" хорошо разбирается в компьютерах, то легко вычислит данное ПО с помощью антивирусного ПО. Что бы не обещали вам разрабочтики кейлоггеров, но антивирусы, Windows Defender и AnvirTaskMаnager своё дело знают. При этом кейлоггеры стоят денег. Как быть? Я подумал: а может power shell что-нибудь такое умеет делать? Потом подумал google. Я добавил только как именовать файл. Результат:
[reflection.assembly]::LoadWithPartialName("System.Drawing") > $null
$Bitmap = new-object System.Drawing.Bitmap 1024,768
$Size = New-object System.Drawing.Size 1024,768
$FromImage = [System.Drawing.Graphics]::FromImage($Bitmap)
$FromImage.copyfromscreen(0,0,0,0, $Size,
([System.Drawing.CopyPixelOperation]::SourceCopy))
$today = get-date -DisplayHint date -UFormat %d.%m.%y.%H.%M.%S
$Bitmap.Save("С:\Windows\anyfolder$\$today.png",
([system.drawing.imaging.imageformat]::png));
Разрешение снимка 1024х768 - это потому, что у испытуемый компьютер был виртуальной машиной с данным разрешением экрана. Если у вас два и более мониторов, нужно сложить разрешения по горизонтали. Если мониторы имеют разные разрешения, тогда нужно вычилсять смещение:
Add-Type -AssemblyName System.Windows.Forms
System.Windows.Forms.Screen]::AllScreens BitsPerPixel : 32 Bounds : {X=0,Y=0,Width=1280,Height=1024} DeviceName : \\.\DISPLAY1 Primary : True WorkingArea : {X=0,Y=0,Width=1280,Height=994} BitsPerPixel : 32 Bounds : {X=1280,Y=0,Width=1024,Height=768} DeviceName : \\.\DISPLAY2 Primary : False WorkingArea : {X=1280,Y=0,Width=1024,Height=768}
В итоге изменнёные строки будут выглядеть так (в зависимости от главного монитора знак смещения может быть и отрицательным):
$FromImage.copyfromscreen(1280,0,0,0, $Size,
([System.Drawing.CopyPixelOperation]::SourceCopy))
Далее прячем этот скрипт на компьютере или в сети.... Логинимся учётной записью вашего ребёнка. Создаём задачу в пранировщике задач на запуск скрипта VBS при логине данного пользователя:
set shell = wscript.createobject("wscript.shell")
shell.run "powershell -file C:\yourpath\yourscript.ps1",0,false
Где yourscript.ps1 ваш скрипт PowerShell. Скрипт VBS нужен для отключения "мерцания" окна PowerShell во время запуска ps1 скрипта. Готово. Указав интервал повторения задачи каждые Х минут (минимальный интервал 1 минута) у вас будут принтскрины экрана во время работы вашего ребёнка. Если вы используете AnvirTaskMаnager, то во время создания задания он предупредит о создании нового задания в автозагрузке.
Внимание: возможно данные действия нельзя применять в корпоративных средах, т.к. возможны нарушения закона по охране личной жизни и т.д. и т.п.. С другой стороны - какая личная жизнь во время работы?