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

求助:如何用Export-Csv导出无法重命名的计算机列表

批量计算机重命名脚本优化

原脚本已支持延迟执行与从CSV读取计算机列表,以下是添加失败记录导出和原CSV状态标记的优化版本:

$Credential = Get-Credential
$ComputerListPath = '\Shares\Scripts\computers.csv'
$FailedComputersPath = '\Shares\Scripts\failed_renames.csv'
$ComputerList = Import-Csv -Path $ComputerListPath
$end = Get-Date "2024/06/11 06:00:00"

# 存储所有机器的重命名结果(用于更新原CSV)
$allResults = @()
# 存储失败的机器记录
$failedResults = @()

# 等待到指定执行时间
while ((Get-Date) -lt $end) {
    Start-Sleep 3600
}

foreach ($Computer in $ComputerList) {
    # 初始化当前机器的结果对象
    $currentResult = [PSCustomObject]@{
        oldname = $Computer.oldname
        newname = $Computer.newname
        Status  = "Pass"
    }

    try {
        # 执行重命名操作,强制捕获所有错误
        Rename-Computer -ComputerName $Computer.oldname -NewName $Computer.newname `
            -DomainCredential $Credential -Force -Restart -ErrorAction Stop
    }
    catch {
        # 更新状态为失败,输出警告信息
        $currentResult.Status = "Fail"
        $errorMsg = "[$($Computer.oldname)] 重命名失败:$($_.Exception.Message)"
        Write-Warning $errorMsg

        # 记录失败机器的详细信息
        $failedResults += [PSCustomObject]@{
            oldname      = $Computer.oldname
            newname      = $Computer.newname
            ErrorMessage = $_.Exception.Message
        }
    }

    # 将当前机器结果加入总集合
    $allResults += $currentResult
}

# 更新原CSV文件,添加Status列标记结果
$allResults | Export-Csv -Path $ComputerListPath -NoTypeInformation -Force

# 导出失败机器列表(仅当存在失败记录时)
if ($failedResults.Count -gt 0) {
    $failedResults | Export-Csv -Path $FailedComputersPath -NoTypeInformation -Force
    Write-Host "已导出 $($failedResults.Count) 台失败机器记录到 $FailedComputersPath"
}
else {
    Write-Host "所有计算机重命名操作完成,无失败记录"
}

核心功能说明

  • 状态标记:为每台计算机生成包含oldname、newname、Status的结果对象,最终覆盖写入原CSV,直接查看每台机器的重命名结果
  • 错误捕获与警告:通过try/catch捕获离线、权限不足等所有重命名失败场景,实时用Write-Warning输出错误详情
  • 失败记录导出:单独生成failed_renames.csv,包含失败机器的旧名、新名和具体错误原因,无需逐一验证每台机器状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:43:22