首页 > 解决方案 > 如果用户在下次登录时仍有检查更改密码,则禁用 ADuser

问题描述

我正在进行用户审核,并在下次登录时分配检查更改密码。在 xxx 时间后,我运行脚本以删除检查并禁用仍然具有检查的帐户并导出这些用户。我正在尝试这种方式,但它对我不起作用。

    Get-ADuser -LDAPfilter "(pwdLastSet=0)" | select SamAccountName |

Out-File -FilePath .\users.txt -Append

$users = get-content .\users.txt
foreach ($Row in $users) {
    if(Get-ADUser -LDAPfilter "(sAMAccountName=$($Row.username))"){
        Set-ADUser -ChangePasswordAtLogon $false -Identity $Row.username
        Set-ADUser -Enabled $false -Identity $Row.username -Description "User Disabled after xxxxx days"
    }
}

有人知道这样做的方法并且可以帮助我。谢谢你。

标签: powershellactive-directory

解决方案


问题出在$Row.username

$Row不是哈希表,没有属性。因此$Row.Username将不等于任何内容。

Get-ADuser -LDAPfilter "(pwdLastSet=0)" | select SamAccountName | Out-File -FilePath .\users.txt -Force

get-content .\users.txt | %{
    Set-ADUser -Identity $_ -ChangePasswordAtLogon $false -Enabled $false -Description "User Disabled after xxxxx days"
}

推荐阅读