Можно ли получить Windows-версию от команды powershell в Windows Server 2016 Nano?

8

Я использую последний предварительный просмотр Windows Server 2016 nano.

Используя удаленный сеанс PowerShell, я подключаюсь к удаленной системе через Enter-PSSession, а затем попытался использовать самые распространенные методы для проверки версий Windows, потому что полная .Net Framework недоступна. Кроме того, командлет Get-WmiObject недоступен.

Единственный способ увидеть некоторую информацию - это DISM без команды powershell:

Dism /Online /Get-Feature

Это дает мне этот вывод плюс список установленных функций:

Deployment Image Servicing and Management tool
Version: 10.0.10514.0

Image Version: 10.0.10514.0

Features listing for package : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~10.0.10514.0

Из значения 10514, которое выше, чем у моего рабочего стола Windows 10, я могу получить некоторое представление о сборке ядра, и интересно, что рабочий стол Windows 10 имеет такой же «Microsoft-Windows-Foundation-Package», но более низкую сборку ядра число.

Кто-нибудь нашел командлет или какую-либо функцию PowerShell или псевдоним, которые могли бы быть написаны, которые обнаружат для меня тот факт, что мой сценарий PowerShell работает на нано-сервере, который каким-то образом не может быть поврежден, или любая команда, которая будет на самом деле распечатать "Windows Server 2016 Nano Server"?

Обновление: это ближе к тому, что я хочу, но немного взломать:

  Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion'

Обновление 2: Get-WmiObject отсутствует, и пока работает следующее, он сообщает только версию ядра:

[System.Environment]::OSVersion.Version

Выше будет сообщаться о сборке 10514, в то время как RTM клиентских операционных систем Windows 10 в данный момент сообщает о 10240, но вышеприведенное действительно является «сборкой ядра», а не продуктом / выпуском / пакетом обновления уровня операционной системы.

Уоррен П
источник

Ответы:

4

Вы можете попробовать следующее, у меня нет нано-сервера, чтобы попробовать его. Отбросьте, selectесли он получает что-то другое, и посмотрите, хранится ли то, что вы хотите, под другим свойством в Server 2016 Nano

Get-CIMInstance -ClassName Win32_OperatingSystem -Property * | select caption

При тестировании на реальном экземпляре Nano параметр -session не понадобился, но если он понадобится вам в будущем, вот вариант с -session:

$cuser = "Your username"
$cservername = "Your Servername"
$csession = New-CimSession Credential $cuser ComputerName $cservername
Get-CIMInstance session $csession -ClassName Win32_OperatingSystem -Property * | select caption
Drifter104
источник
Материал сеанса не требуется, если вы уже находитесь в удаленном сеансе, через который вы вошли, Enter-PSSessionпоэтому я предложил изменить.
Уоррен П
3

Это просто расширение вашего редактирования, но оно очищает вывод, получая только ProductName

$(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' ProductName).ProductName
Эрик
источник
Это хорошее улучшение.
Уоррен П
2

Путь Microsoft, известный как Cert, заключается в использовании Get-WindowsEdition -Online

Дополнительную информацию о команде и всех ее параметрах можно найти здесь!

Grunkle Stan
источник
Очень небольшое количество информации в Get-WindowsEdition -Onlineотчетах только обратно Professional- отчитывается ли это Nanoза нано-сервер?
Уоррен Р
-1

Административная командная строка PowerShell и ввод:

 Get-WmiObject -Class Win32_Operatingsystem

Возвращает:

Build Number and Version
Ройстон
источник
Нет способа узнать, нано это или нет
Уоррен П