Мы недавно приобрели небольшую фирму, имеющую 1500 серверов, на которых у нашей команды нет доступа на данный момент, хотя они находятся в домене. Нам нужно выяснить, сколько серверов работает под управлением Windows 2k3 и сколько стоят Windows 2k8. Я знаю, что экран RDP обеих этих версий отличается, например: если мы RDP на машине Win2k3, он сначала предупреждает об этом, и как только мы нажимаем Ok, он выводит нас на экран учетных данных, но в случае Win2k8, он напрямую переносит нас на Crendentials, который является доказательством ОС на сервере. Выполнение этого вручную для 1500 серверов - это трудоемкая задача. Можем ли мы реализовать эту логику экрана RDP, используя скрипт, чтобы узнать версию ОС Windows.Как проверить, работает ли сервер под управлением Windows 2003 или Windows 2008, проверив его экран RDP через скрипт?
Я могу представить себе что-то алгоритм так:
- Введите имя сервера.
- Invoke
mstsc
для этого сервера - Проверьте, является ли диалоговое окно прямым приглашением для учетных данных или нет?
- Если это так, напечатайте Windows 2k8, else 2k3/2k.
Если эта логика успешна на одном сервере, я могу использовать ее в цикле foreach
для всех серверов и экспортировать в Excel.
Они используют другую версию протокола RDP, поэтому было бы легче обнаружить эту разницу. Я был бы удивлен, если бы не был существующий сетевой сканер (например, Nessus?), Который мог бы сделать это за вас. –
Спасибо за ваш добрый ответ. Но поскольку я уже являюсь его устойчивым, и мы находимся в процессе перехода, в настоящее время нет доступа и ресурсов. Помимо сетевого сканера, можете ли вы предложить любой другой способ? Возможно ли реализовать логику RDP (я упоминал в описании) в сценарий powershell? –