Jak ustalić, która wersja systemu Windows działa na serwerze przy użyciu programu PowerShell?

9

Próbuję napisać skrypt PowerShell, który mogę uruchomić na zdalnych serwerach. W tych skryptach chcę wykonywać różne funkcje w zależności od wersji systemu Windows uruchomionej na komputerach.

Nie mogę znaleźć w sieci żadnych użytecznych informacji na temat tego, jak ustalić, która wersja systemu Windows działa na komputerze, na którym działa skrypt (Server 2003, Server 2008 R2 itp.). Jakieś pomysły, jak to zrobić?

Robactwo
źródło
Przeglądałem przez 30 sekund i znalazłem eggheadcafe.com/software/aspnet/31845351/...
ta.speot.is
dzięki za tę pomoc, myślę, że muszę się czegoś nauczyć, szukając odpowiedzi w sieci. z braku zainteresowania, co wpisałeś w google, aby znaleźć tę odpowiedź?
Vermin
@Vermin Wypróbowałem kilka na podstawie tych słów, a następnie przeczytałem kilka wyników: za pomocą programu PowerShell określ wersję systemu Windows
KCotreau
google.com.au/…
ta.speot.is

Odpowiedzi:

7

To jest ten, z którym bym poszedł:

gwmi win32_operatingSystem | select name

Jak wspomniano w todda.speot., to jest ten sam link, który znalazłem, ale jest w nim wiele odpowiedzi i przetestowałem je. Ten, który dałem, wydaje się dać ci to, czego chcesz, chociaż będziesz musiał to przeanalizować (myślę, że to właściwy termin).

Oto przykładowy wynik:

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
źródło
2
Get-WmiObject -Class Win32_OperatingSystem | ForEach-Object -MemberName Caption

Lub grał w golfa

gwmi win32_operatingsystem |% caption

Wynik

Microsoft Windows 7 Ultimate
Steven Penny
źródło
1

Użyłbym:

gwmi win32_operatingSystem | wybierz podpis

Nie wymaga „analizowania”. ; ^)

Przykładowe dane wyjściowe:

Microsoft Windows Server 2003 R2 Standard x64 Edition

Mika
źródło