【问题标题】:Set-ADAccountExpiration in PowerShell sets AD account -1 day. Why?PowerShell 中的 Set-ADAccountExpiration 将 AD 帐户设置为 -1 天。为什么?
【发布时间】:2015-11-05 15:54:06
【问题描述】:

我有一个员工到期日期格式为 2016 年 8 月 12 日的 csv,但 Set-ADAccountExpiration cmdlet 将日期设置为 2016 年 8 月 11 日。我假设这意味着 2016 年 8 月 11 日晚上 11:59?这似乎是一个错误?

如果用户的最后一天是 2016 年 8 月 12 日,我们最不希望他们当天上班并过期。我该如何解决?

我正在使用名为 $Row.'Expiration Date' 的 csv 中的 [string] 变量,但在执行 .AddDays(1) 时遇到了困难,因为它不是 [DateTime] 方法。

【问题讨论】:

    标签: powershell csv active-directory


    【解决方案1】:

    您需要将您的行转换为[DateTime]

    ([DateTime]($Row.'Expiration Date')).AddDays(1)
    

    另外,不要假设 cmdlet 将其设置为晚上 11:59;自己检查:

    Get-ADUser username -Properties AccountExpirationDate
    

    This page has a good writeup about this.

    【讨论】:

    • 对。感谢您的语法并已标记正确您的答案。但是,2016 年 8 月 12 日上午 12:00 是 Get-ADUser AccountExpirationDate 返回的时间,因此即使这是属性中的时间,它也会显示为 2016 年 8 月 11 日结束。那还是不能接受的。 2016 年 8 月 12 日结束时应为晚上 11:59。如何提交更改 Set-ADAccountExpiration cmdlet 的请求?
    • @MarcGel Microsoft Connect 是最好的选择。
    猜你喜欢
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    相关资源
    最近更新 更多