我需要使用WMI获取远程主机的日期和时间,包括毫秒。
以下内容不够好:
Get-WmiObject Win32_UTCTime -ComputerName MY_REMOTE_HOST
由于Win32_UTCTime类派生的Win32_CurrentTime类未实现毫秒,因此:
毫秒
数据类型:uint32
访问类型:只读
未实现。
此属性是从Win32_CurrentTime继承的。
(https://docs.microsoft.com/en-us/previous-versions/windows/desktop/wmitimepprov/win32-currenttime)
对于使用WMI从Powershell或C#获取此信息的任何其他建议,我将不胜感激。
答案 0 :(得分:3)
WMI类win32_operatingsystem包含一个名为LocalDateTime的属性,该属性还包含毫秒。您需要将它们转换。
简单示例:
1000
300
20
1234
1200
输出是一个DateTime对象,该对象还包含毫秒。
答案 1 :(得分:2)
@bluuf的答案是您应该使用的答案,但是作为更复杂的选择,您可以从性能计数器WMI类中获取当前日期/时间,如下所示:
$perfTime = Get-CimInstance -Query "Select * FROM Win32_PerfRawData_PerfOS_Processor WHERE Name = '0'"
(Get-Date "01/01/1601").AddTicks($perfTimeime.Timestamp_Sys100NS)
答案 2 :(得分:1)