PowerShell - 使用 PowerShell 时 WSUS 服务器的上次报告和同步时间值不匹配

PowerShell - last report and sync time values of WSUS servers do not match when PowerShell is used

我使用 PoshWSUS 2.3.1.6

当我转到 Windows 10 中的 "Update Services" 并连接到我的 WSUS 服务器时,我看到服务器中的许多工作站具有不同的 LastStatusReportLastContact 日期下面显示了两个例子。请注意,我的本地 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

这 returns 不一致,因为返回的时间值提前 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()

应该有帮助。