如何在PowerShell中获取用户输入的AD账号名并应用到后续脚本执行
PowerShell 实现AD账号输入及离职流程操作方案
- 最基础的用户输入逻辑可以通过
Read-Host命令实现,将用户输入的AD账号存储到变量后,后续所有流程都可以直接调用该变量代入执行,基础实现代码如下:
# 读取用户输入的AD账号 $adAccount = Read-Host "Input AD-User >>" # 可选:增加非空校验,避免空输入导致后续命令报错 if ([string]::IsNullOrWhiteSpace($adAccount)) { Write-Host "错误:账号不能为空,请重新运行脚本" exit 1 } # 执行禁用账号操作 Disable-ADAccount -Identity $adAccount # 后续其他离职流程操作直接调用$adAccount变量即可 # 示例:移动禁用账号到指定OU # Get-ADUser -Identity $adAccount | Move-ADObject -TargetPath "OU=已禁用账号,DC=公司域名,DC=com"
- 进阶优化:可以增加账号存在性校验、操作二次确认逻辑,避免误操作,前提是运行环境已安装ActiveDirectory模块:
# 加载AD模块 Import-Module ActiveDirectory -ErrorAction Stop $adAccount = Read-Host "Input AD-User >>" if ([string]::IsNullOrWhiteSpace($adAccount)) { Write-Host "错误:账号不能为空,请重新运行脚本" exit 1 } # 校验AD账号是否存在 try { $userInfo = Get-ADUser -Identity $adAccount -ErrorAction Stop } catch { Write-Host "错误:未找到AD账号 $adAccount,请检查输入是否正确" exit 1 } # 操作二次确认 $confirm = Read-Host "确认要禁用账号 $($userInfo.Name)($adAccount)吗?(Y/N)" if ($confirm.Trim().ToUpper() -ne 'Y') { Write-Host "操作已取消" exit 0 } # 执行禁用 Disable-ADAccount -Identity $userInfo Write-Host "账号 $adAccount 已成功禁用"
内容的提问来源于stack exchange,提问作者R3TURN-0
相关产品推荐
相关产品推荐

