Как определить, какая версия Windows работает на сервере с помощью PowerShell?

9

Я пытаюсь написать сценарий PowerShell, который я могу запустить на удаленных серверах. В этих сценариях я хочу выполнять различные функции в зависимости от того, какая версия Windows работает на компьютерах.

Кажется, я не могу найти какую-либо полезную информацию в сети о том, как определить, какая версия Windows работает на компьютере, на котором выполняется сценарий (Server 2003, Server 2008 R2 и т. Д.). Есть идеи, как я могу это сделать?

вредители
источник
Я Googled в течение 30 секунд и нашел eggheadcafe.com/software/aspnet/31845351/...
ta.speot.is
спасибо за эту помощь, я думаю, у меня есть кое-что, чтобы изучить, ища сеть для ответов. из интереса, что вы набрали в Google, чтобы найти этот ответ?
Паразиты
@Vermin Я попробовал несколько на основе этих слов, а затем прочитал ряд результатов: с помощью PowerShell определить версию Windows
KCotreau
google.com.au/…
ta.speot.is

Ответы:

7

Это тот, с которым я бы пошел:

gwmi win32_operatingSystem | select name

Как упомянуто todda.speot.is, это та же самая ссылка, которую я нашел, но в ней есть много отладчиков, и я их протестировал. Тот, который я дал, похоже, даст вам то, что вы хотите, хотя вам придется разобрать его (я думаю, что это правильный термин).

Вот пример вывода:

Microsoft Windows Server 2003 R2 Standard x64 Edition|C:\WINDOWS|\Device\Harddisk0\Partition1

http://www.eggheadcafe.com/software/aspnet/31845351/reliable-way-to-get-windows-version.aspx

KCotreau
источник
2
Get-WmiObject -Class Win32_OperatingSystem | ForEach-Object -MemberName Caption

Или в гольф

gwmi win32_operatingsystem |% caption

Результат

Microsoft Windows 7 Ultimate
Стивен Пенни
источник
1

Я бы использовал:

gwmi win32_operatingSystem | выберите подпись

Никакого «разбора» не требуется. ; ^)

Пример вывода:

Microsoft Windows Server 2003 R2 Standard x64 Edition

Михей
источник