powershell - 如果用户在下次登录时仍有检查更改密码,则禁用 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"
}
}
有人知道这样做的方法并且可以帮助我。谢谢你。
解决方案
问题出在$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"
}
推荐阅读
- reactjs - 有条件地渲染 Font Awesome 图标
- node.js - 来自 Node.js setInterval + mssql 的巨大内存泄漏
- grafana - 在 Grafana 中的表上缩放列值
- html - MS Edge 的问题 - html5 页面上的嵌入式应用程序不加载
- c# - 1 操作获取 lastinsertedID 以使用 EF 进行 2 次插入/添加
- html - Edge 中的 HTML 提交按钮破坏了初始边框,但正确的插入边框
- php - 用 检测到可能的 XSS。回声
- linux - 如何将 OS 文件缓存的脏页刷新到磁盘?
- php - 如何使用 mysql 数据填充单选按钮组?
- javascript - 如何使用 imagemin-webpack-plugin 最小化仅更改的图像?