Сеансы выхода из системы, кроме консоли

В многопользовательской среде есть приложение, которое можно открыть только за один сеанс на рабочей станции. Пользователи часто перемещаются с ПК на ПК, оставляя приложение открытым, а рабочую станцию ​​заблокированной. Отключение пользовательского переключения является определяющим фактором для производительности. Мне нужна система для принудительного выхода из системы любого пользователя, кроме сеанса Консул. Идентификатор сеанса - это переменная, которая не может быть предсказана. Это то, что я получил до сих пор...

@ echo off

query session > c:\users\session.txt

powershell -Command "Get-Content c:\users\session.txt | Where-Object {$_ -notmatch 'console'} | Set-Content c:\users\session2.txt"

for /f "skip=2 tokens=2," %i in (c:\users\session2.txt) DO C:\Windows\System32\logoff.exe %i

Цель состоит в том, чтобы поместить это в.bat для запуска при входе пользователя в систему, чтобы тот, кто фактически использует компьютер, мог использовать приложение. Dataloss неактивного сеанса не имеет значения. В идеале, rdp-tcp и сервисы также должны оставаться активными сессиями.

2 ответа

Более простой подход - просто убить все экземпляры приложения, которые НЕ работают в активном сеансе.

Похоже, вы хорошо начали получать информацию о сеансе из PowerShell... вы также можете использовать команду qwinsta для получения всех идентификаторов сеансов. Оттуда, проанализируйте список, чтобы получить только идентификаторы сессии с тегом "активный"

Оттуда вы можете использовать команду taskkill с фильтром, исключающим активный идентификатор сеанса, но убивающим процесс везде:

taskkill / f / fi "SESSION ne 1" / im apptokill.exe

где 1 выше - идентификатор сеанса активного сеанса. Приведенная выше команда завершит работу всех экземпляров apptokill.exe, не запущенных в сеансе с идентификатором 1.

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

https://4sysops.com/archives/automatically-log-off-idle-users-in-windows/

Другие вопросы по тегам