You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell新建用户脚本:如何根据输入选择并使用OUPath

没问题,我来帮你搞定这个OU路径选择的问题!核心思路是先根据用户输入的INTERN/EXTERN映射到对应的静态OU路径,再把这个路径作为参数传给创建AD用户的命令。下面是完整的实现方案:

完整脚本示例

# 提示用户选择用户类型,统一转为大写避免大小写问题
$userType = Read-Host "请输入 INTERN 或 EXTERN 以选择用户所在OU"

# 根据输入匹配对应的OU路径
switch ($userType.ToUpper()) {
    'INTERN' {
        $OUPath = 'OU=Intern,OU=Users,OU=Zero,DC=int,DC=zero,DC=com'
    }
    'EXTERN' {
        # 这里替换为你实际的Extern用户OU路径,根据你的AD结构调整
        $OUPath = 'OU=Extern,OU=Users,OU=Zero,DC=int,DC=zero,DC=com'
    }
    default {
        Write-Error "无效输入!请输入 INTERN 或 EXTERN"
        exit 1 # 输入错误时终止脚本,避免创建用户到错误位置
    }
}

# (可选)获取用户其他属性,这里仅作为示例,你可以替换成自己已有的变量逻辑
$samAccountName = Read-Host "请输入用户登录名"
$fullName = Read-Host "请输入用户全名"
$initialPassword = Read-Host "请输入用户初始密码" -AsSecureString

# 创建AD用户,关键是添加 -Path 参数指定目标OU
New-ADUser -SamAccountName $samAccountName `
           -Name $fullName `
           -Path $OUPath `
           -AccountPassword $initialPassword `
           -Enabled $true `
           -ChangePasswordAtLogon $true # 强制用户首次登录修改密码,可选

关键细节说明

  • 输入处理:用ToUpper()把用户输入转为大写,这样不管用户输入intern还是Intern都能匹配,提升脚本容错性。
  • OU路径映射:通过switch语句清晰处理两种输入对应的静态OU,如果你以后需要添加更多用户类型,直接在switch里加分支即可。
  • 错误拦截:如果用户输入无效,脚本会抛出错误并退出,避免后续创建用户时使用错误的OU路径(比如空值)。
  • Path参数:在New-ADUser命令中添加-Path $OUPath,这就是把选择好的OU路径传递给创建用户的核心步骤,确保用户被创建到指定的组织单元下。

注意事项

  • 确保你替换了EXTERN对应的OU路径为你AD环境中的实际路径。
  • 脚本需要在已安装AD模块(RSAT工具)的机器上运行,且执行账号有创建AD用户的权限。
  • 密码部分用-AsSecureString是更安全的做法,避免明文密码在控制台或日志中泄露。

内容的提问来源于stack exchange,提问作者user9689291

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:11:15