powershell - 检查 AD 帐户是否存在时重置 AD 帐户的 PowerShell 脚本
问题描述
我不认为我离得很远,但是第一个 if 语句不起作用,如果用户名正确,则重置有效,但是我希望脚本在重置之前验证 AD 用户名是否正确。我需要改变什么?
Import-Module ActiveDirectory
$username = Read-host "please enter users AD username"
If ($username -eq $null) {"$username does not exist in AD"}
Else {"User found in AD"}
$myinformation = get-aduser $username -properties *
Set-ADAccountPassword $username -NewPassword $newpwd -Reset -PassThru | Set-ADuser -ChangePasswordAtLogon $False
Read-host "Password reset successfully"
解决方案
更新这一行:
If ($username -eq $null) {"$username does not exist in AD"}
至:
try {
Get-ADUser $username -ErrorAction Stop
}
Catch {"$username does not exist in AD"}
或者:
if (!(Get-ADUser -filter {SamAccountName -eq $username})) {"$username does not exist in AD"}
就像 TobyU 评论的那样,您$username
没有验证用户是否存在于 AD 中,我建议的替换行验证它,这意味着如果$username
不存在(!
简称-not
)打印“不存在”等。
推荐阅读
- javascript - 在Angular 6中自动滚动到组件AfterViewInit,不起作用
- java - 从 Java 程序向 Linux 终端发送命令
- qr-code - 是否有检测方向的 QR 码/条形码 API?
- angular - 禁用 Angular 2 反应形式的文本输入
- python - 如何激活另一个用户的 conda 环境?
- python - 从熊猫数据框中的地址中删除分数
- jquery - Angular 6 svg在点击时将类添加到路径
- javascript - 触发似乎不在顶部的标签的鼠标悬停事件?
- c# - Bot 框架:检测用户何时上传文件
- javascript - 如何访问选定选项的标签属性