【问题标题】:PowerShell - last report and sync time values of WSUS servers do not match when PowerShell is usedPowerShell - 使用 PowerShell 时 WSUS 服务器的上次报告和同步时间值不匹配
【发布时间】:2019-10-16 17:14:52
【问题描述】:

我使用 PoshWSUS 2.3.1.6

当我转到 Windows 10 中的“更新服务”并连接到我的 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

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


【解决方案1】:

返回的日期似乎是 UTC。您可以检查 .Kind 属性。

ToLocalTime()

应该有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多