如何整合PowerShell脚本实现远程采集系统及显示器信息?
整合PowerShell脚本实现远程采集显示器信息
核心思路
把本地获取显示器信息的逻辑,通过PowerShell远程执行框架(Invoke-Command)推送到目标机器上运行,再将返回的显示器数据和系统信息合并,最终导出为CSV。
前置条件
- 目标Windows机器已开启WinRM服务(可通过
Enable-PSRemoting -Force在目标机上开启,需管理员权限) - 执行脚本的账号对目标机器有本地管理员权限
- 网络允许WinRM默认端口(5985/5986)通信
具体整合步骤与示例代码
假设你的原远程系统信息脚本通过Get-CimInstance远程获取硬件/系统数据,本地显示器脚本用Win32_DesktopMonitor类获取信息,整合后的完整脚本如下:
# 1. 定义目标机器列表(替换为实际主机名/IP) $targetComputers = @("PC01", "PC02", "192.168.1.100") # 2. 远程执行脚本块,同时采集系统信息和显示器信息 $remoteData = Invoke-Command -ComputerName $targetComputers -ScriptBlock { # 获取系统基础信息(可根据原脚本调整属性) $systemInfo = Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object CSName, Caption, Version, InstallDate # 获取显示器信息(多显示器会返回多条记录) $displayInfo = Get-CimInstance -ClassName Win32_DesktopMonitor | Select-Object DeviceID, MonitorManufacturer, MonitorType, ScreenHeight, ScreenWidth # 合并系统与显示器信息(处理多显示器场景) foreach ($display in $displayInfo) { [PSCustomObject]@{ ComputerName = $systemInfo.CSName OSName = $systemInfo.Caption OSVersion = $systemInfo.Version OSInstallDate = $systemInfo.InstallDate MonitorDeviceID = $display.DeviceID MonitorBrand = $display.MonitorManufacturer MonitorModel = $display.MonitorType ScreenHeightPixels = $display.ScreenHeight ScreenWidthPixels = $display.ScreenWidth } } } -ErrorAction SilentlyContinue # 3. 将采集数据导出为CSV $remoteData | Export-Csv -Path "RemoteSystemAndDisplayInfo.csv" -NoTypeInformation -Encoding UTF8
关键细节说明
- 多显示器处理:目标机有多个显示器时,
Win32_DesktopMonitor会返回多条记录,脚本通过循环将每条显示器数据与系统信息绑定,确保每条CSV记录对应一个显示器的完整关联信息。 - 权限与认证:需要指定特定账号时,可在
Invoke-Command中添加-Credential (Get-Credential)参数,手动输入目标机权限账号。 - 错误捕获:示例用
-ErrorAction SilentlyContinue忽略连接失败的机器,可添加-ErrorVariable remoteErrors捕获错误,后续导出失败列表:$remoteErrors | Select-Object TargetObject, Exception | Export-Csv "ConnectionErrors.csv" -NoTypeInformation - 备选显示器数据来源:如果
Win32_DesktopMonitor返回数据不全,可改用Win32_PnPEntity筛选显示器设备:$displayInfo = Get-CimInstance Win32_PnPEntity | Where-Object { $_.PNPClass -eq "Monitor" } | Select-Object DeviceID, Name, Manufacturer
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

