首页 > 解决方案 > 如何使用powershell脚本说如果直接报告中的用户已启用

问题描述

我在服务器上有一个运行良好的 PowerShell 脚本,但我需要在其中添加一个 if 强制转换。此脚本检查“直接下属”中的所有用户是否即将到期向其经理发送邮件。问题:我想在我的 PowerShell 中解释如果禁用用户不发送电子邮件,如果启用间接报告用户发送邮件或继续脚本的其余部分。我不知道如何以 PowerShell 格式编写这样的代码 :( 我在此处附上了我的脚本的一部分...

在此处输入图像描述

标签: powershell

解决方案


您可以在代码中执行以下操作:

$TargetExpirationDate = Get-Date -Year 2019 -Month 01 -Day 31
$_.DirectReports | Foreach-Object {
    $userDetails = Get-Aduser -Filter "DistinguishedName -eq '$_' -and AccountExpirationDate -le '$TargetExpirationDate' -and Enabled -eq '$true'" -Properties AccountExpirationDate,EmailAddress
    # Other code
}

设置$TargetExpirationDate为要检查的到期日期。该代码将识别到期日期为 或之前 $TargetExpirationDate的已启用用户。$userDetails一次只包含一个用户。您可以$userDetails通过执行以下操作来包含所有符合条件的用户:

$TargetExpirationDate = Get-Date -Year 2019 -Month 01 -Day 31
$userDetails = $_.DirectReports | Foreach-Object {
    Get-Aduser -Filter "DistinguishedName -eq '$_' -and AccountExpirationDate -le '$TargetExpirationDate' -and Enabled -eq '$true'" -Properties AccountExpirationDate,EmailAddress
    # Other code
}

推荐阅读