Здравствуйте, Коллега.
Делюсь очередным скриптом, который помогает мне в администрировании пользователей на сервере терминалов.
Конечно, информативности обычного диспетчера задач windows, не достаточно для того, чтоб например, отфильтровать пользователей которые работают в 1С на сервере терминалов.
“Zabbix” также нуждается в долгой настройке, да и лишний софт на сервере не всем подойдет.
А вот запуск простенького powershell скрипта способен быстро отобразить нам действительно ту информацию, которая нам реально необходима, что называется «без лишнего мусора».
Как видим ниже, у нас есть информация о пользовательской сессии на сервере терминалов по фильтрам процессов 1С.
Мы понимаем, сколько простаивает сеанс, видим статус самой сессии и когда она стартовала.
Одним словом все, что и требуется админу для того, чтоб определить, кто работает в 1С на сервере терминалов, какой клиент запустил на каком ПК и активна ли его сессия.
Скрипт можно скопировать после бесплатной регистрации на блоге.
Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>





Прикольно, ну думаю нужно сделать как в этом . скрипте выводить в окошке и дать возможность завершить сеанс или вырубить 1с
# Log off RDS user sessions
# For regular users to be able to do this you need to grant them permission:
# wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName =»RDP-Tcp») CALL AddAccount «domain\group»,2
# Get the list of users using good old quser (query user)
$QUser = &quser.exe
# Get rid of the Sessionname column because it is inconsistent (contains no data for disconnected sessions)
$QUser = $QUser -replace(«rdp-tcp#\d+»,»»)
# Remove header row
$QUser = $QUser -replace(«ПОЛЬЗОВАТЕЛЬ.+ВХОДА»,»»)
# Tidy up the spaces to leave one space separator only
$QUser = $QUser -replace(«\s+»,» «)
# Remove the current user line prefix
$QUser = $QUser -replace(«>»,» «)
# Split into an array, data starts at position 3, 7 items per line
$QUserArray = $Quser -split » »
# Make an array of objects
$CurrentUsers = New-Object System.Collections.ArrayList
for ($i = 3; $i -lt $QUserArray.Count; $i+=7){
$ThisUser = New-Object -TypeName System.Object
Add-Member -InputObject $ThisUser -MemberType NoteProperty -Name «UserName» -Value $QUserArray[$i]
Add-Member -InputObject $ThisUser -MemberType NoteProperty -Name «ID» -Value $QUserArray[$i+1]
Add-Member -InputObject $ThisUser -MemberType NoteProperty -Name «State» -Value $QUserArray[$i+2]
Add-Member -InputObject $ThisUser -MemberType NoteProperty -Name «IdleTime» -Value $QUserArray[$i+3]
Add-Member -InputObject $ThisUser -MemberType NoteProperty -Name «LogonTime» -Value ($QUserArray[$i+4]+» «+$QUserArray[$i+5])
$CurrentUsers.Add($ThisUser) | Out-Null
}
# Display the array in a gridview
$SelectedUsers = $CurrentUsers | Out-GridView -Title «Select users(s) to log off» -OutputMode Multiple
# Log off selected sessions
foreach($User in $SelectedUsers){
Write-Host («Logging off «+$User.UserName+» (session ID «+$User.ID+»)… «) -NoNewline
$x = &logoff.exe $User.ID
Write-Host «Done»
}
Start-Sleep -Seconds 1
Скрипт при открытии тут же моментально закрывается
Запускайте скрипт в powershel ies
В файле скрипта слетела кодировка на слове ‘Диск’ — „ЁбЄ
Да, там смотрите как у вас из кодировкой, возможно надо сменить если не работает.
Подскажите, пожалуйста, не знаете, как подключаться к пользователям удаленного рабочего стола, как было раньше в windows server 2008, например? Так в диспетчере задач на пользователя правой кнопкой жмешь и в контекстном меню «удаленное управление».