我试图通过Powershell从WMI中获取SCCM MP的详细信息。我可以从WMI中获取数据,但日期格式不同,因此我无法转换。可能缺少一些知识。
$query = Get-WmiObject -Query "SELECT * FROM SMS_MPInformation " -Namespace root\ccm\LocationServices -ComputerName "test_vm"
$MP = $query.MP
$Sitecode = $query.SiteCode
$MPLastRequestTime = $query.MPLastRequestTime
$MPLastUpdateTime = $query.MPLastUpdateTime
我得到的输出是可以的,但是日期的格式有些不同。
$MPLastRequestTime = 20191008000158.927000+000
实际上应该是这样。
MPLastRequestTime:08-Oct-2019 00:01
谁能告诉我如何将其转换成上述格式。 WMIExplorer工具能够将其转换,所以我知道必须有某种方法。
除了Ivan Mirchev的有用答案。您可以像这样转换WMI时间戳:
$wmiTime = '20191008000158.927000+000'
$date = [DateTime]::new((([wmi]"").ConvertToDateTime($wmiTime)).Ticks, 'Local')
如果您需要将日期设为UTC,请执行>
$wmiTime = '20191008000158.927000+000' $date = [DateTime]::new((([wmi]"").ConvertToDateTime($wmiTime)).Ticks, 'Local').ToUniversalTime()
后者将输出
2019年10月8日00:01:58
尝试使用Get-CimInstance
。 -Wmi