У меня есть небольшой скрипт, который поможет пользователям в нашей среде затенять сеансы от других пользователей на объектах (я работаю в корпоративном офисе, корпоративным пользователям нужна возможность затенять сеансы других пользователей вдоль различных участков)powershell - захватить определенную информацию из массива issue
Так что я получил это:
$servers = "server1, server2, server3, server4, server5"
#search for user in servers farm
foreach ($server in $servers) {
$results = & qwinsta.exe $userid /server:$server
if ($results -ne $null) {
write-host "User found in $server"
$serverfound = $server
write-host $results[1]
$sessionid = $results[1] | Where-Object { $_ -is 0..99}
write-host "Session ID is: $sessionid"
}
}
Однако, я не могу получить его, чтобы захватить идентификатор сессии из результата, это выход из сценария:
Ple аза ждать, пока мы ищем x2adm на RDSfarm серверах
Пользователь найден в server5
RDP-TCP # 0 x2adm 2 Активный
Session ID является:
Я пытаюсь просто хватайте число на выходе и назначьте его $ sessionid, чтобы я мог полностью автоматизировать процесс затенения.
Любая помощь будет оценена по достоинству. Заранее спасибо.
Здесь есть хороший ответ, чтобы помочь вам: http://stackoverflow.com/questions/23445175/qwinsta-serversomesrv-equivalent-in-powershell – sodawillow
Я думаю, ваша проблема связана с $ servers = "server1, server2, server3 , server4, server5 ". Должны быть $ servers = "server1", "server2", "server3", "server4", "server5", поэтому вы получаете массив с 5 элементами. –
Я согласен с Дэном, вы просто передали ему строку, а не 5 отдельных предметов. –