Скрипт Powershell для проверки отключенных сеансов, которые были отключены более 12 часов

Я пытаюсь написать сценарий Powershell, который я могу запланировать запустить в 5 утра, чтобы отключить отключенных пользователей от моих серверов Citrix.

Я нашел этот пример:

foreach ($_ in get-content servers.txt) {(gwmi win32_operatingsystem -ComputerName $_).Win32Shutdown(4)}

Но я не уверен, как отредактировать его, чтобы узнать, были ли они отключены более 12 часов.

Если бы кто-то мог помочь, это было бы здорово.

2 ответа

Вы можете использовать оснастку Citrix Powershell, как показано ниже. Этот сценарий будет проходить через все сеансы в ферме и удалять отключенные. Вам нужно будет установить команды Citrix Powershell в поле, из которого вы их запускаете. Это для Citrix XenApp 4.5 или выше? Для версий Citrix ниже XenApp 4.5 для этого потребуется MFCOM, но вы по-прежнему можете использовать Powershell.

Add-PSSnapin Citrix.XenApp.Commands
Get-XASession | Where-Object { $_.State -eq "Disconnected" } | Stop-XASession

Если цель состоит в том, чтобы отключить пользователей "после" 12 часов, почему бы вам не реализовать это в GPO, а не в запланированной задаче?

Я обычно устанавливаю GPO, чтобы отключить пользователя после 2 часов простоя, а затем выйти из системы через 30 минут.

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