日期转换yyyymmddhhmm + 000

问题描述 投票:1回答:2

我试图通过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工具能够将其转换,所以我知道必须有某种方法。

powershell datetime wmi
2个回答
1
投票

除了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


3
投票

尝试使用Get-CimInstance-Wmi

© www.soinside.com 2019 - 2024. All rights reserved.