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

求助:如何编写PowerShell脚本批量获取远程PC内存容量并导出CSV

批量获取远程计算机内存模块信息PowerShell脚本实现

现有脚本存在的问题

  • 语法错误:$Result += $Object 语句放在了foreach循环外部,且存在大括号匹配错误,只会将最后一次遍历的结果存入结果集
  • WMIC返回的是纯文本数组,无法直接作为PSCustomObject的属性参数传入,该参数要求接收哈希表结构
  • 无异常处理逻辑,遇到离线、权限不足的设备时会直接抛出错误,影响执行效率

推荐实现方案

使用PowerShell原生CIM cmdlet实现,相比WMIC返回结构化对象无需手动解析,稳定性更高:

# 初始化结果数组
$Result = @()
# 读取计算机列表,自动跳过空行
$servers = Get-Content "L:\Data.txt" | Where-Object { $_ -notmatch '^\s*$' }

Foreach ($s in $servers) {
    # 预检测设备可达性,优化批量执行速度
    if (Test-Connection -ComputerName $s -Count 1 -Quiet -ErrorAction SilentlyContinue) {
        try {
            # 获取内存模块信息
            $memoryChips = Get-CimInstance -ClassName Win32_PhysicalMemory -ComputerName $s -ErrorAction Stop
            # 遍历每个内存模块生成单独记录
            foreach ($chip in $memoryChips) {
                $Result += [PSCustomObject]@{
                    计算机名       = $s
                    模块容量(字节) = $chip.Capacity
                    模块容量(GB)   = [math]::Round($chip.Capacity / 1GB, 2)
                    插槽位置       = $chip.DeviceLocator
                    查询状态       = "成功"
                }
            }
        }
        catch {
            # 记录查询异常
            $Result += [PSCustomObject]@{
                计算机名       = $s
                模块容量(字节) = $null
                模块容量(GB)   = $null
                插槽位置       = $null
                查询状态       = "失败:$($_.Exception.Message)"
            }
        }
    }
    else {
        # 记录离线设备
        $Result += [PSCustomObject]@{
            计算机名       = $s
            模块容量(字节) = $null
            模块容量(GB)   = $null
            插槽位置       = $null
            查询状态       = "失败:设备不可达"
        }
    }
}

# 导出结果为CSV
$Result | Export-Csv "L:\RAMReport.csv" -NoTypeInformation -Encoding UTF8

使用注意事项

  • 执行脚本的账号需要拥有所有目标计算机的本地管理员权限
  • 目标计算机需要开启WMI远程访问权限,防火墙放行WMI相关流量
  • 1500台设备建议分批执行,避免网络拥堵影响查询成功率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:24:01