【问题标题】:Creating a simple script that disables unactive accounts创建一个禁用非活动帐户的简单脚本
【发布时间】:2018-02-11 16:46:03
【问题描述】:

尝试创建一个将在一定天数后禁用 AD 帐户的 powershell 脚本。我希望它列出 SAMAccountName、DistinguishedName 和 LastLogonDate,但是当我添加 Set-ADUser -Enabled $false -confirm 时。该信息不再显示,它直接进入确认提示。想知道如何让它显示信息,然后给我确认提示?

param(
   [Parameter(Mandatory=$false)][int] $daysInactive = 180
)

$stale = (Get-Date).AddDays(-($daysInactive))

Search-ADAccount –AccountInActive –DateTime $stale | Select-Object 
SamAccountName, DistinguishedName, LastLogonDate | Set-ADUser -Enabled $false -confirm

【问题讨论】:

    标签: powershell


    【解决方案1】:

    拆分您的管道;将搜索结果保存在变量$InactiveUsers 中,然后将write-host 该变量保存在单独的语句中。最后,将变量通过管道传递给您的 Set-ADUser 语句。

    【讨论】:

      【解决方案2】:

      使用Tee-Object cmdlet分割管道:

      Search-ADAccount –AccountInActive –DateTime $stale |
          Tee-Object -Variable Users |
              Select-Object SamAccountName, DistinguishedName, LastLogonDate
      
      $Users | Set-ADUser -Enabled $false -confirm
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-04
        • 1970-01-01
        • 1970-01-01
        • 2017-05-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多