用 PowerShell 脚本高效采集 Windows 终端信息并自动上传至共享盘⚙️📝
在日常 IT 管理中,我们经常需要快速获取某台 Windows 终端的基本配置信息,例如硬件规格、网络信息、已安装软件、管理员账号列表等。这种需求在设备清点、系统盘点、终端上线前的检查中尤为常见。
今天分享一个我自己在使用的自动化采集方案:通过一个 PowerShell 脚本自动采集终端信息,并将结果上传到内网共享文件夹,再结合一个简单的 bat 脚本实现“一键运行”,即便是普通员工也可以使用它完成自己的信息采集任务。
📌 脚本功能概述
脚本实现了以下功能:
挂载公司共享文件夹(NAS)
检测共享路径是否存在
采集终端信息:
当前用户名与计算机名
CPU 型号与内存大小
网络适配器信息(MAC 地址与 IP 地址)
硬盘与分区信息
操作系统名称与版本
BIOS 序列号(用于唯一标识设备)
安装的软件清单(含版本)
管理员用户列表
远程桌面是否启用
以 CSV 格式导出到共享盘中,以“用户名_计算机名.csv”命名
🧰 关键技术实现详解
1. 📂 网络共享挂载与验证
net use "\\NAS_ADDRESS" /user:USERNAME PASSWORD
$nasPath = "\\NAS_ADDRESS"
if (!(Test-Path $nasPath)) {
Write-Output "❌ 共享路径不存在:$nasPath"
exit
}
脚本首先通过 net use 命令将 NAS 挂载到本地,并检查目标路径是否存在。这样可确保后续的数据导出不会失败。
2. 🖥️ 系统基本信息采集
收集当前用户、计算机名、CPU、内存、硬盘和分区等硬件信息:
$cpuName = (Get-CimInstance Win32_Processor | Select-Object -First 1 -ExpandProperty Name)
$totalMemGB = [math]::Round($totalMemBytes / 1GB, 2)
...
$disks = Get-WmiObject Win32_DiskDrive
$partitions = Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3"
这些信息可以反映设备的基础性能构成。
3. 🌐 网络配置收集
$netAdapters = Get-NetAdapter
(Get-NetIPAddress -InterfaceAlias $adapter.Name -AddressFamily IPv4)
通过 Get-NetAdapter 和 Get-NetIPAddress 获取每个网卡的 MAC 地址与分配的 IP 地址,方便 IT 排查网络问题。
4. 💽 软件列表和系统信息
$software += Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*
通过注册表路径获取安装的软件列表,覆盖 32 位和 64 位路径,并按软件名排序导出。结合操作系统信息,有助于安全审计和软件资产盘点。
5. 👤 管理员用户与远程桌面状态
$admins = Get-LocalGroupMember -Group "Administrators"
...
$rdp = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server"
这部分识别本地管理员账号以及远程桌面启用状态,对于权限管理和远程运维尤为重要。
6. 📝 数据导出
$info | Export-Csv -Path $output -Encoding UTF8 -NoTypeInformation
所有信息以结构化的 CSV 文件导出,并存储在共享文件夹中,便于集中化管理与后续分析。
7.⚙️ bat 脚本辅助启动
由于默认 Windows 执行策略可能禁止直接运行 .ps1 文件,因此配套使用以下 .bat 脚本来完成管理员权限运行:
@echo off
set script=%~dp0getinfo.ps1
powershell -NoProfile -ExecutionPolicy Bypass -Command "Start-Process powershell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File \"%script%\"' -Verb RunAs"它的关键在于:
强制以管理员身份启动 PowerShell;
使用
-ExecutionPolicy Bypass绕过本地策略限制;自动定位脚本路径,避免路径错误。
✅ 使用场景
企业资产盘点与统一管理
部署前设备状态快照
安全合规检查
硬件故障排查的辅助数据
💬 小结
这个脚本虽然简单,但在终端管理场景中非常实用。如果你也面临大量设备的配置梳理任务,不妨尝试部署这套方案。
下载地址