Здравствуйте, Коллега.
Делюсь очередным скриптом, который помогает мне в администрировании пользователей на сервере терминалов.
Конечно, информативности обычного диспетчера задач 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
В файле скрипта слетела кодировка на слове ‘Диск’ – „ЁбЄ
Да, там смотрите как у вас из кодировкой, возможно надо сменить если не работает.