@grigoriyb

Как в PowerShell из результатов выполнения команды получить перечень значений в переменную?

Конечная задача - убедиться, что все пользователи завершили свои сеансы на терминальном сервере.
Было решено использовать команду утилиту qwinsta.

Выполняем в PS вот такую команду:
qwinsta /server:DC1
Получаем результат:
c2d99999883b4c928fab6d7d7b966a2a.png

Хотелось бы ID всех сессий получить в массив для дальнейшего анализа: ищем в массиве значения отличные от 0, 1, 65536. Если находим - значит есть еще не все пользователи завершили свои сессии на сервере.

Я специально описал задачу полностью, так как, возможно, кто-то подскажет более красивый вариант решения.

Спасибо.
  • Вопрос задан
  • 3893 просмотра
Решения вопроса 1
1. В первой строке найти, где заканчивается ID
2. Остальные строки обрезать, и найти число в конце
PS> $out = (qwinsta)
PS> $len = ($out | select -First 1 | ? { $_ -match '.*(ID)' } | % { $matches[0].Length })
PS> $out | select -skip 1 | % { $_.Substring(0, $len) } | ? { $_ -match '(\d+)$' } | % { $matches[1] }
0
2
65537
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@grigoriyb Автор вопроса
Не знаю почему, но у меня вот так:
1f1a63386f1b481fbe36f8de9393a335.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы