我正在使用 Windows Server 2016 nano 的最新预览版。
使用远程 powershell 会话,我通过 连接到远程系统Enter-PSSession
,然后我尝试使用最常见的技术来检查 Windows 版本,因为完整的 .Net 框架不可用。此外,Get-WmiObject cmdlet 不可用。
我可以看到一些信息的唯一方法是使用这个非 powershell 命令 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
从高于我的 Windows 10 桌面的 10514 值,我可以对 Kernel Build 有所了解,有趣的是,Windows 10 桌面具有相同的“Microsoft-Windows-Foundation-Package”,但内核构建较低数字。
有没有人找到可以编写的 cmdlet 或一些 powershell 函数或别名,这将为我检测到我的 powershell 脚本以某种不太可能中断的方式在 nano-server 上运行的事实,或者任何命令实际打印出“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,但以上实际上是“内核构建”而不是操作系统产品/版本/服务包级别。
您可以尝试以下方法,我没有可以尝试的 nano 服务器。如果它可以为您提供其他内容,请删除
select
它,看看您想要的内容是否存储在 Server 2016 Nano 中的不同属性下在真实 Nano 实例上进行测试时,不需要 -session 参数,但如果您在未来某个日期需要它,这里是带有 -session 的变体:
这只是您编辑的扩展,但通过仅获取 ProductName 来清理输出
Microsoft 方式又名 Cert 方式是使用
Get-WindowsEdition -Online
有关该命令及其所有选项的更多信息,请参见此处!
PowerShell 管理命令提示符并键入:
回报: