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

如何用PowerShell结合CSV重命名Active Directory多台计算机并修复脚本问题?

批量修改域内计算机名脚本问题解决

我们计划通过Active Directory更改域内计算机的命名规范,但进展不顺利。已导出特定OU中的计算机名CSV文件,修改后仅保留两列:旧计算机名、新计算机名。希望批量修改CSV中所有计算机名并重启机器,但脚本无法正常弹出域管理员凭据输入窗口,附上当前脚本:

$oldname = "oldname"
$newname = "newname"
$computernameold = import-csv -Path "shareddrivepath" | select $oldname
$computernamenew = import-csv -Path "shareddrivepath" | select $newname

Foreach ($oldname in $computernameold) {
    Rename-Computer -ComputerName $computernameold -NewName $computernamenew Get-Credential
    Restart-Computer -Computername $computernamenew -force
}

pause

问题分析

  • 两次导入同一CSV并分别提取列,会导致循环时无法对应每行的新旧名称关系
  • Rename-Computer命令参数格式错误:Get-Credential未通过参数传递,且-NewName与Get-Credential之间缺少逗号分隔
  • 循环变量命名冲突:$oldname既用作CSV列名变量,又用作循环迭代变量
  • 直接使用新名称执行Restart-Computer,改名后AD/DNS可能未同步,导致无法连接目标机器

修正后的脚本

# 定义CSV中的列名
$oldNameColumn = "oldname"
$newNameColumn = "newname"
# 一次性导入CSV,保留每行的新旧名称对应关系
$computerList = Import-Csv -Path "shareddrivepath"

# 提前获取域管理员凭据,避免重复弹窗
$adminCredential = Get-Credential -Message "请输入域管理员账号密码"

foreach ($entry in $computerList) {
    $oldName = $entry.$oldNameColumn
    $newName = $entry.$newNameColumn

    try {
        # 执行计算机重命名,指定域管理员凭据
        Rename-Computer -ComputerName $oldName -NewName $newName -DomainCredential $adminCredential -Force -ErrorAction Stop
        Write-Host "✅ 成功将 $oldName 重命名为 $newName"
        
        # 等待AD同步(根据实际环境调整等待时长)
        Start-Sleep -Seconds 30
        
        # 使用旧名称重启计算机,避免同步延迟导致的连接失败
        Restart-Computer -ComputerName $oldName -Force -ErrorAction Stop
        Write-Host "🔄 已触发 $oldName 重启"
    }
    catch {
        Write-Host "❌ 处理 $oldName 时出错: $_" -ForegroundColor Red
    }
}

pause

关键修正说明

  • 单次导入CSV,确保每行的新旧名称一一对应
  • 提前获取凭据,减少重复操作
  • 规范Rename-Computer参数传递,通过-DomainCredential指定管理员权限
  • 使用旧名称执行重启,规避AD/DNS同步延迟问题
  • 添加错误捕获与日志输出,便于排查失败案例
  • 增加同步等待时间,适配域环境的复制延迟

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:00:53