Powershell 在不使用WMI的情况下获取操作系统
我有一个Powershell脚本,需要从中获取各种服务器的操作系统。到目前为止,我一直在使用WMI来完成这项任务,但是我已经读到了WMI如何获得超时,所以我想知道是否还有其他方法可以获得服务器的操作系统?以下是我目前使用的代码,为了避免WMI,我希望对其进行更改:Powershell 在不使用WMI的情况下获取操作系统,powershell,wmi,virtual-machine,code-cleanup,Powershell,Wmi,Virtual Machine,Code Cleanup,我有一个Powershell脚本,需要从中获取各种服务器的操作系统。到目前为止,我一直在使用WMI来完成这项任务,但是我已经读到了WMI如何获得超时,所以我想知道是否还有其他方法可以获得服务器的操作系统?以下是我目前使用的代码,为了避免WMI,我希望对其进行更改: $serverVersion = Get-WMIObject -computer $server -class Win32_OperatingSystem 您可能会在注册表中找到您要查找的内容。从Windows 2000开始,可以在
$serverVersion = Get-WMIObject -computer $server -class Win32_OperatingSystem
您可能会在注册表中找到您要查找的内容。从Windows 2000开始,可以在以下位置找到
ProductName
值:HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion
要使用Powershell查询此注册表值,请尝试:
(get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
您可能会在注册表中找到您要查找的内容。从Windows 2000开始,可以在以下位置找到
ProductName
值:HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion
要使用Powershell查询此注册表值,请尝试:
(get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
根据您需要的粒度,您还可以使用.Net的: 在windows上:
PS C:\> $os
Platform ServicePack Version VersionString
-------- ----------- ------- -------------
Win32NT Service Pack 1 6.1.7601.65536 Microsoft Windows NT 6.1.7601 Service Pack 1
在Linux(Ubuntu 18.04)上:
根据您需要的粒度,您还可以使用.Net的: 在windows上:
PS C:\> $os
Platform ServicePack Version VersionString
-------- ----------- ------- -------------
Win32NT Service Pack 1 6.1.7601.65536 Microsoft Windows NT 6.1.7601 Service Pack 1
在Linux(Ubuntu 18.04)上: