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

使用PowerShell从文本文件导入用户批量添加SMTP代理地址

批量向AD用户添加Proxy Addresses脚本实现

修改后的完整脚本

# 读取文本文件中的用户名列表,过滤空行和无效条目
$usernames = Get-Content .\users.txt -Trim | Where-Object { $_ -ne '' }

# 逐个处理每个用户
foreach ($user in $usernames) {
    try {
        # 构造要添加的代理地址数组
        $proxyAddresses = @(
            "smtp:$user@example.com",
            "smtp:$user@marketing.example.com"
        )
        
        # 执行AD用户修改操作
        Set-AdUser -Identity $user -Add @{ProxyAddresses = $proxyAddresses} -ErrorAction Stop
        Write-Host "✅ 成功为用户 $user 添加代理地址" -ForegroundColor Green
    }
    catch {
        Write-Host "❌ 处理用户 $user 失败: $_" -ForegroundColor Red
    }
}

关键部分说明

  • 读取用户列表:Get-Content .\users.txt读取文本文件内容,-Trim去除每行首尾空格,Where-Object { $_ -ne '' }过滤掉空行,避免因无效条目报错。
  • 循环处理:通过foreach遍历每个用户名,实现批量操作。
  • 代理地址构造:直接用数组形式定义代理地址,比原脚本的字符串拆分更直观,减少语法错误风险。
  • 错误捕获:try/catch块捕获执行过程中的异常(如用户不存在、权限不足等),并输出明确的错误信息,方便排查问题。

使用注意事项

  1. 确保文本文件路径正确:如果users.txt不在脚本同一目录,需填写绝对路径(如C:\ADScripts\users.txt)。
  2. 权限要求:运行脚本的账号需要具备修改AD用户属性的权限。
  3. 域名替换:根据实际需求修改@example.com和@marketing.example.com为你的业务域名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:40:29