Скрипт 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 минут.