Префикс выходного текста в пакете

Я пытаюсь создать удаленный скрипт запроса WMI, который будет запрашивать несколько машин и сообщать мне информацию о конфигурации MemoryChip. Таким образом, мы можем выяснить, какие машины физически имеют 1 или 2 чипа, и какой размер у каждого, и выяснить, кто имеет конфигурацию 1x4 ГБ, и обновить их. База, которую я запускаю: wmic /node:"[ComputerName]" MEMORYCHIP get BankLabel,DeviceLocator,Capacity,Tag > memory.txt

Проблема в том, что это просто выдает следующее, что не дает возможности ссылаться на запрашиваемый компьютер: BankLabel Capacity DeviceLocator Tag
4294967296 DIMM A Физическая память 0
4294967296 DIMM B Физическая память 1

Вы запускаете этот 50x, и нет быстрого способа узнать, какая машина имеет что. То, что я пытаюсь сделать, это сделать сценарий Echo "ComputerName" в строке, предшествующей тексту, или добавить его в следующей строке. Все мои усилия сделать это не дали жизнеспособных результатов, поэтому я надеюсь, что хотя бы один человек, который все еще использует пакет (для вещей, честно говоря, я должен научиться выполнять PowerShell), может помочь мне в этом.

2 ответа

Решение

Что я пытаюсь сделать, это иметь сценарий 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 это имя моего компьютера.

Просто используйте что-то вроде этого:

@echo off
echo "ComputerName" >> Memory.txt
wmic /append:Memory.txt /node:"ComputerName" MemoryChip get BankLabel,DeviceLocator,Capacity,Tag
Другие вопросы по тегам