Windows-терминалы WTware
http://forum.wtware.ru/

Скриншоты терминалов по расписанию
http://forum.wtware.ru/viewtopic.php?f=7&t=19896
Страница 1 из 1

Автор:  amxs3 [ Вт дек 20, 2016 3:16 pm ]
Заголовок сообщения:  Скриншоты терминалов по расписанию

Возникла необходимость палить работу/досуг пользователей. Вместо готовых монстрообразных программ нашёл следующий способ:

Скачиваем исходники и распаковываем их на диск D:
https://github.com/trmsjj/vnc_screenshot

Т.к. для удобства нужно знать имена пользователей, а не только адреса, я немного изменил код Program.cs
Вложение:
Program.rar [1.44 КБ]
48 скачиваний
Для просмотра рекомендую Notepad++.

Если не берёте готовую программу моей сборки
Вложение:
vncss.rar [54.96 КБ]
48 скачиваний
В командной строке выполняем:

Код:
C:\Windows\System32>"C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe" "D:\vnc_screenshot-master\vnc_screenshot\vnc_screenshot.csproj"

Видим "Build succeeded."

Проверяем работу
Код:
C:\Windows\System32>"D:\vnc_screenshot-master\vnc_screenshot\bin\Debug\vnc_screenshot.exe" i:192.168.10.10 p:password o:"D:"

Пакетный режим
Код:
C:\Windows\System32>"D:\vnc_screenshot-master\vnc_screenshot\bin\Debug\vnc_screenshot.exe" f:"D:\vnc_screenshot-master\vnc_screenshot\bin\Debug\iplist.txt" p:password o:"D:"

Если всё прошло хорошо, на диске "D:", который мы указали в параметре "о", увидим скриншот(ы).

Теперь можно сделать два скрипта
В первом делаем скриншоты:
Код:
# Получаем пользователей, которые сегодня логинились на терминальный сервер
# и создаем из них файл для программы vncss формата "ip:name"
#  Если >=WS2012 можно проверять доступность хоста "Test-NetConnection -ComputerName $event.Properties[2].Value -Count 1 -Port 5900"
$iplist = "D:\vncss\iplist.txt"
Out-File $iplist
$CurrentDate = Get-Date -Hour 0 -Minute 0 -Second 0
$allRDPevents = Get-WinEvent -ComputerName 192.168.1.4 -LogName "Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational" | ?{$_.id -eq 1149 } | ?{$_.TimeCreated -ge $CurrentDate }
$results = @{}
foreach ($event in $allRDPevents){
    if (($event.Properties[0].Value) -and !($results.($event.Properties[0].Value))) {
        $results += @{
            $event.Properties[0].Value = $event.Properties[2].Value
        }
    }
}
$results.Keys | foreach {
  $($results.Item($_))+":"+$_ | Out-File $iplist -Append
}
# делаем новые скиншоты
D:\vncss\vncss.exe f:"D:\vncss\iplist.txt" p:password:"D:\vncss\ss"


Во втором ограничиваем их количество
Код:
# в 00 часов каждый день

$pathss = "D:\vncss\ss\*.png"
$rar = "C:\Program Files\WinRAR\Rar.exe"
$Days = -30 # храним только последние 30 дней
$CurrentDate = Get-Date
$OldDate = $CurrentDate.AddDays($Days)

# Архивируем папку ss и очищаем её
$currentArhPath = $pathss + "\vncss-" + (get-date -Format yyyyMMdd) + ".rar"
&$rar a -m5 -s -ep1 -df $currentArhPath $pathss
# удаляем архивы старше $Day дней
Get-ChildItem $pathss | Where-Object { ( $_.LastWriteTime -lt $OldDate ) -and ($_.Extension -eq ".rar")} | Remove-Item


Дальше можно настроить расписание.

Автор:  aka [ Вт дек 20, 2016 4:46 pm ]
Заголовок сообщения:  Re: Скриншоты терминалов по расписанию

Круто.

Добавлю: если у пользователя два монитора, второй можно увидеть подключившись с тем же паролем по VNC к порту 5901.

Автор:  zhendosina [ Вт дек 20, 2016 10:08 pm ]
Заголовок сообщения:  Re: Скриншоты терминалов по расписанию

aka писал(а):
Круто.

Добавлю: если у пользователя два монитора, второй можно увидеть подключившись с тем же паролем по VNC к порту 5901.


Как насчет зашить это в втварь? Пусть конфигуратор снимает скриншотики я считаю :)

Автор:  aka [ Вт дек 20, 2016 10:19 pm ]
Заголовок сообщения:  Re: Скриншоты терминалов по расписанию

Ага. Скриншотики, потом клавиатуру с мышью, закончится VNC клиентом в конфигураторе...

Автор:  amxs3 [ Пн мар 27, 2017 3:51 pm ]
Заголовок сообщения:  Re: Скриншоты терминалов по расписанию

aka писал(а):
Ага. Скриншотики, потом клавиатуру с мышью, закончится VNC клиентом в конфигураторе...


А, кстати, есть идея: конфигуратор пусть остаётся для одминов, а для безопасников и прочих бездельников сделать виндовую прогу, которая всё это будет иметь. И продавать за отдельные деньги. Ну и мне за идею лицензию нахаляву ))

Автор:  Дмитрий 123 [ Пт апр 07, 2017 7:52 pm ]
Заголовок сообщения:  Re: Скриншоты терминалов по расписанию

amxs3 писал(а):
aka писал(а):
Ага. Скриншотики, потом клавиатуру с мышью, закончится VNC клиентом в конфигураторе...


А, кстати, есть идея: конфигуратор пусть остаётся для одминов, а для безопасников и прочих бездельников сделать виндовую прогу, которая всё это будет иметь. И продавать за отдельные деньги. Ну и мне за идею лицензию нахаляву ))



+5

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/