Я хочу программно узнать, какая версия Windows работает на компьютере.

В оболочке CMD можно ввести ver который для моего компьютера возвращает:

Microsoft Windows [Версия 6.2.9200]

Но это может быть то же самое на сервере. Есть ли команда (может быть, VBScript?) узнать точную версию Windows, например Windows Server 2008?

7 ответов7

3

Простой способ в пакетном режиме или команд Windows.

Вы можете использовать WMIC из командной строки.

wmic os get caption

Для моего рабочего стола это возвращает

Microsoft Windows 7 Professional

И на сервере у меня есть

Microsoft Windows Server 2012 Standard

Другой вариант - проверить роли сервера (чтобы узнать, является ли он сервером, или просто работает серверная ОС)

0

да

Это работает (и проверено) на Windows Server 2008 и W7.

Из командной строки введите

systeminfo | findstr /C:"OS"

И вы получите массу информации, такой как

Более ранние версии Windows могут потребовать

systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
0

Пытаться:

wmic os get name

Результат получился (для моей системы):

C:\Users\superuser>wmic os get name
Name
Microsoft Windows 8 Enterprise|C:\Windows|\Device\Harddisk2\Partition1
0

Вы можете использовать php_uname() .

Пример PHP-скрипта:

<?php
echo php_name();

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

Windows NT #### 6.1 build 7601 (Windows 7 Ultimate Edition Service Pack 1) i586

Я не сразу знаком с реализацией VBScript, извините.

0

Класс WMI OperatingSystem предоставляет члену «OperatingSystemSKU», который должен дать вам необходимый ответ, но он не разрешает все версии os: http://msdn.microsoft.com/en-us/library/aa394239%28v= vs.85% 29.aspx

On Error Resume Next 
' Connect to WMI and obtain instances of Win32_OperatingSystem
For Each objOS in GetObject( _
    "winmgmts:").InstancesOf ("Win32_OperatingSystem")

WScript.Echo "Name = " & objOS.Caption _
    & "Version = " & objOS.Version &VBCR _
    & "SKU = " & objOS.OperatingSystemSKU
Next

if Err <> 0 Then
    WScript.Echo Err.Description
    Err.Clear
End if
0

Быстрый способ найти тип ОС для системы Windows:

  1. Открыть командную строку
  2. systeminfo | findstr "OS Name"

Примечание: я добавляю в свой ответ, хотя есть несколько похожих ответов, потому что я считаю, что тот, который я разместил, является наиболее легко читаемым, что облегчает его запоминание на лету. Кроме того, похоже, что для загрузки требуется немного меньше времени.

Кроме того, в зависимости от соглашений об именах, которые используются в вашей сети, вы также можете попробовать ввести hostname . Например, компьютеры в моем окружении обычно называются «BLD ## - SRV/WK-Sect ##», что позволяет довольно легко определить, что такое машина и где она находится.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .