командная строка Windows: могу ли я узнать номер пакета обновления?

12

Есть ли способ получить номер пакета обновления из командной строки? Или номер сборки из командной строки (из которой я могу узнать номер пакета обновления (см. Как определить версию Windows и пакет обновления из WindowsUpdateLog.txt ))?

После запуска cmd на экране отображается часть номера версии Windows, но не номер пакета обновления.

Я предпочитаю не-PowerShell-ответ, но в любом случае я не прочь узнать ответ PowerShell, поскольку на некоторых компьютерах, с которыми я имею дело, он установлен.

Александр Берд
источник
Другие связанные сайты: eggheadcafe.com/software/aspnet/29718402/… и support.microsoft.com/kb/279631
Александр Берд

Ответы:

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

Источник: Найти версию Windows из командной строки

Гири
источник
Это единственный, который работает на всех компьютерах, на которых я пробовал эти методы.
Александр Берд
ps - вышеописанное работает, только если пользовательский язык английский, так как строковый фильтр использует английские имена. Использование systeminfo само по себе подойдет для любого языка, хотя и требует ручного поиска всех возвращаемых данных.
JohnLBevan
9

Вы можете получить его с помощью WMIC - wmic os get servicepackmajorversion

Подробнее об использовании WMIC см. Этот небольшой учебник: http://quux.wiki.zoho.com/WMIC-Snippets.html

Мультивселенная ИТ
источник
Wmic установлен на всех компьютерах Windows? по какой-то причине мой домашний компьютер не распознает wmic.
Александр Берд
1
Отличный инструмент, спасибо, что поделились! @ Thr4wn, согласно Википедии, WMIC недоступен в Windows XP Home Edition, но доступен в XP Pro и всех более поздних версиях Windows.
nhinkle
6

Вы можете ввести CMD:

Winver

r0ca
источник
хороший ответ! .... +1, когда я получу больше голосов
studiohack
2
Хм ... проблема в том, что он открывает инструмент с графическим интерфейсом, который может не соответствовать тому, что пытается сделать пользователь.
nhinkle
2
Запуск SYSTEMINFO в командной строке будет отображаться без графического интерфейса.
r0ca
1
В cmd.exeвы можете использовать только verи получить версию на стандартный вывод. Но вам нужно конвертировать номер сборки, чтобы получить SP.
Ричард
verне дает полный номер версии. Он останавливается прямо перед номером пакета обновления.
Александр Берд
1

Вы можете получить его из командной строки, запросив реестр для ключа ServicePack. Если SP установлен, он будет показан, в противном случае будет сказано, что он не смог найти указанный ключ, и в этом случае пакет обновления отсутствует.

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v ServicePack
nhinkle
источник
Это работает только в том случае, если установлен пакет обновления (например, в настоящее время Windows 7 не имеет пакета обновления, поэтому ключ не существует)
misterjaytee,
Я знаю; это то, что я сказал в своем ответе. Если ключ не существует, значит, нет пакета обновления, поэтому это SP0. Если ключ существует, он сообщит вам пакет обновления. Так или иначе, вы можете выяснить, какой пакет обновления (если есть) установлен.
nhinkle
Когда я пробую решение Giri, оно показывает SP 3, но этот метод сообщает, что ему не удалось найти указанный ключ или значение реестра (я скопировал / вставил команду в cmd).
Александр Берд
Вместо «ServicePack» вы можете использовать «ProductName» и «CSDVersion»
d.moncada,