Как посмотреть все сессии пользователей в 1С, что работают в терминале ?

Здравствуйте, Коллега.

Делюсь очередным скриптом, который помогает мне в администрировании пользователей на сервере терминалов.

скрипт просмотра пользователей в1С на сервере терминалов

 

download

Скачать файлы можно только после регистрации


Конечно, информативности обычного диспетчера задач windows, не достаточно для того, чтоб например, отфильтровать пользователей  которые работают в 1С на сервере терминалов.

2024-06-06_16-21-24

“Zabbix” также нуждается в долгой настройке, да и лишний софт на сервере не всем подойдет.

А вот запуск простенького powershell скрипта способен быстро отобразить нам действительно ту информацию, которая нам реально необходима, что называется «без лишнего мусора».

Как видим ниже, у нас есть информация о пользовательской сессии на сервере терминалов по фильтрам процессов 1С.

Сессии на сервере терминалов пользователи в 1С

Мы понимаем, сколько простаивает сеанс, видим статус самой сессии и когда она стартовала.

Сессии на сервере терминалов пользователи в 1С Отключенные и активные сессии

Одним словом все, что и требуется админу для того, чтоб определить, кто работает в 1С на сервере терминалов, какой клиент запустил на каком ПК и активна ли его сессия.

Скрипт можно скопировать после бесплатной регистрации на блоге.

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>

6 комментариев к “Как посмотреть все сессии пользователей в 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

  2. Подскажите, пожалуйста, не знаете, как подключаться к пользователям удаленного рабочего стола, как было раньше в windows server 2008, например? Так в диспетчере задач на пользователя правой кнопкой жмешь и в контекстном меню «удаленное управление».

Оставьте комментарий

База знаний 1С