我正在尝试创建一个远程 WMI 查询脚本,它将查询一组机器并告诉我 MemoryChip 配置信息。这样,我们可以找出哪些机器物理上有一个或两个芯片以及每个芯片有多大,并找出谁拥有 1x4GB 配置并对其进行升级。我运行的基础是:wmic /node:“[ComputerName]”MEMORYCHIP get BankLabel、DeviceLocator、Capacity、Tag > memory.txt
问题是,这只会踢出以下内容,而无法引用被查询的计算机:BankLabel Capacity DeviceLocator Tag
4294967296 DIMM A Physical Memory 0
4294967296 DIMM B Physical Memory 1
您运行了 50 次,但没有快速找出哪台机器有什么的方法。我想做的是让脚本将“ComputerName”回显到文本前面的行或将其附加到下一行。我为此所做的所有努力都没有产生可行的结果,所以我希望至少有一个仍然使用批处理的人(坦率地说,我应该学习 powershell 来执行)可以帮助我。
答案1
我想要做的是让脚本echo
“ComputerName”
请尝试以下操作:
wmic /node:"[ComputerName]" OS get csname > memory.txt
wmic /node:"[ComputerName]" MEMORYCHIP get BankLabel,DeviceLocator,Capacity,Tag >> memory.txt
此处输出(不包括/node
选项,因为我无法测试它):
CSName
HAL
BankLabel Capacity DeviceLocator Tag
Bank 0 4294967296 SODIMM1 Physical Memory 0
HAL
我的计算机名称在哪里。
答案2
只需使用这样的东西:
@echo off
echo "ComputerName" >> Memory.txt
wmic /append:Memory.txt /node:"ComputerName" MemoryChip get BankLabel,DeviceLocator,Capacity,Tag