我正在使用
Windows Server 2016 nano的最新预览版.
使用远程PowerShell会话,我通过Enter-PSSession连接到远程系统,然后我尝试使用最常用的技术来检查Windows版本,因为完整的.Net框架不可用.此外,Get-WmiObject cmdlet不可用.
我可以看到一些信息的唯一方法是使用这个非powershell-command DISM:
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”,但内核构建较低数.
有没有人找到一个cmdlet或一些PowerShell函数或别名可以编写,这将检测我的powershell脚本在nano服务器上运行的事实,以某种方式不太可能破坏,或任何命令将实际打印出“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,而Windows 10客户端操作系统RTM目前报告10240,但上述实际上是“内核构建”而不是操作系统产品/版本/服务包级别.
您可以尝试以下方法,我没有纳米服务器来试用它.删除选择,如果它得到你的东西,看看你想要的是否存储在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