【问题标题】:Powershell get current time for Asia/ManilaPowershell 获取亚洲/马尼拉的当前时间
【发布时间】:2016-09-07 13:23:56
【问题描述】:

我正在使用从生物识别设备检索时间表信息的 powershell。用于查询时间表的搜索参数之一是日期和时间。目前,我在安装了我的 powershell 的本地计算机中检索日期和时间。我的 powershell 脚本中用于获取日期的代码是:

get-date -format yyyy-MM-dd

但是,如果有人更改计算机的日期和时间,我的查询就会受到影响。有没有办法使用 powershell 检索亚洲/马尼拉的当前日期戳?我不想再使用本地机器时间了。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您可以在将日期格式化为字符串之前将其转换为通用时间:

    (Get-Date).ToUniversalTime().ToString('yyyy-MM-dd')
    

    【讨论】:

    • 我也在考虑如果本地机器的CMOS电池不能正常工作,它会重新启动日期回到本地机器最初制造的时间。这仍然有效吗?它还会获得亚洲/马尼拉的当前日期和时间吗?我正在考虑这种情况的所有影响。
    • 本地计算机启动并在线后,它应该从 NTP 提供程序获取时间并进行相应更新。
    • CMOS 电池在机器关闭时会保留时间,但在其他情况下超出范围。关键部分是让 Windows 知道执行命令时的时区和当前时间(无论是因为它记住了它,还是从 NTP 中提取了它,或者有人手动设置了它。
    • UTC 时间是去这里的方式,您需要更多的代码,但不依赖外部 NTP 服务器,如果您想这样做,可能会或可能不会在线/可访问确保运行代码的 PC 最近已更新,现在是时候运行& w32tm /resync /nowait,然后再进行依赖本地时间的工作。但老实说,由更改实际 PC 时间(而不是时区)引起的问题数量可能意味着该步骤是不必要的,除非出于某种原因,您组织中的人员都具有管理员访问权限并经常更改 PC 的时间。
    【解决方案2】:

    使用来自https://gallery.technet.microsoft.com/scriptcenter/Get-Network-NTP-Time-with-07b216ca 的脚本,您可以从 ntp 服务器获取时间。

    下载该工具并像这样启动它: .\Get-NtpTime -Server asia.pool.ntp.org | Format-List *

    你可以找到其他的ntp池哦这个网站http://www.pool.ntp.org/de/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多