Как определить, какая версия 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

Ответы:


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


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.