【发布时间】:2019-10-16 17:14:52
【问题描述】:
我使用 PoshWSUS 2.3.1.6
当我转到 Windows 10 中的“更新服务”并连接到我的 WSUS 服务器时,我看到服务器中的许多工作站具有不同的 LastStatusReport 和 LastContact 日期,如下面的两个示例所示。请注意,我的本地 WSUS 服务器和所有工作站都配置为相同的时区:Eastern Standard Time (UTC-05:00)
我的目标是通过 PowerShell 获取这些日期并导出到 CSV。我用于此的代码:
& Get-PoshWSUSClient | select @{name="Computer";expression={$_.FullDomainName}},@{name="Last Status Report";expression={$_.LastReportedStatusTime}}, @{name="Last Contact";expression={$_.LastSyncTime}} | export-csv -NoTypeInformation -append $FileOutput
这返回不一致,因为返回的时间值提前 4 小时。图片中的工作站导出如下:
590 10/16/2019 01:40 10/16/2019 04:40
413 9/26/1019 05:38 10/16/2019 05:56
那么,它发生的原因应该是什么?是否可以将时区信息添加到时间值?是否可以使用时区信息将值转换为日期时间?我在下面试过了,结果还是一样。
Get-pswsusclient | select @{name="Computer";expression={$_.FullDomainName}},@{name="LastReportedStatusTime";expression={[datetime]$_.LastReportedStatusTime}}, @{name="LastSyncTime";expression={[datetime]$_.LastSyncTime}}
任何帮助将不胜感激。
【问题讨论】:
-
你在夏令时吗?看起来返回的日期是 UTC。你能检查
.Kind属性吗?试试ToLocalTime() -
@Theo ToLocalTime() 工作!!谢谢你。添加一个答案,我会选为正确答案
-
我现在在手机上,所以恐怕答案会很短;)
标签: powershell powershell-5.0 poshwsus