Просмотр активных сессий на RDP и сортировка вывода
Добрый день, форумчане. Есть необходимость получить красивый список активных сессий RDP с указанием имени сервера.
#тут получаю список серверов из нужной OY $servers=Get-ADComputer -filter * -SearchBase "OU...DC=..,DC=.." | select -exp name #тут сама операция опроса $results = foreach ($server in $servers) {qwinsta /server:$server} на выходе получаю список сессий с логинами, id, состоянием и именем сессии. А имени сервера на котором эти сессии висят нет. Пробовал прикрутить конструкцию вроде foreach ($server in $servers) {qwinsta /server:$server | Format-Table -Property $server.name, username} , но результат такой же, как без FT. Может у кого то есть идеи как это оформить? |
|
Код:
qwinsta /server:$server | foreach {$_.trim() -replace "\s+",","} | ConvertFrom-Csv | Select *,@{n="Server";e={$server}} Код:
PS > Get-TSSession |
Iska, Kazun, Вам спасибо. На основании предложенных скриптов собрал то, что нужно.
|
Хотелось бы понять что происходит с данными вот тут
foreach { (($_.trim() -replace "\s+",","))} | ConvertFrom-Csv) вот в это строчке, $queryResults = (qwinsta /server:$ServerName | foreach { (($_.trim() -replace "\s+",","))} | ConvertFrom-Csv) и от чего все ломается если это foreach { (($_.trim() -replace "\s+",","))} | ConvertFrom-Csv) убрать. |
Цитата:
foreach, здесь лишний, командой qwinsta /server, можно обработать только один узел, а не массив логичнее использовать (query session /server:$ServerName).trim() -replace "\s+","," | ConvertFrom-Csv trim() - отбрасывает пустые символы в начале строки и в конце "\s+","," - замена TAB на , |
Цитата:
Код:
\s == [ \f\n\r\t\v] |
Время: 16:07. |
Время: 16:07.
© OSzone.net 2001-