Инвентаризация оперативной памяти по сети

Понадобилось как то узнать, сколько оперативы стоит в компах, и не надо ли каким из них сделать апгрейд. Заодно надо было узнать, не заканчивается ли где место на жестких дисках. Бегать по всем 100 компам, смотреть настройки и вскрывать корпус - это конечно не вариант для ленивого админа. Полез в сеть искать скрипты, да ваять что-либо удобоваримое для моих нужд.

Нашел несколько скриптов, определяющих память компов по сети, и сваял свой, который мне больше всего подходил.

В общем чтобы все это заработало, надо сформировать файл nods.txt - в нем надо прописать все IP компов, с которых будем вытаскивать информацию про оперативную память. Дело в том, что основной скрипт крайне долго работает с несуществующими адресами, и в наглую натравливать его на всю подсеть крайне неразумно. Список можно взять на DHCP сервере (при его наличии в сети). Если это невозможно, то можно воспользоваться маленьким скриптом findworking.bat. Этот скрипт по циклу начнет проверять на живучесть все адреса в сети (подсеть задана внутри скрипта) и сгенерирует файл link.txt со списком живых хостов. Это поможет создать файл nods.txt с живыми IP адресами.

Как только nods.txt будет готов, можно будет запускать скрипт ramshow.bat. Он пойдет по списку адресов из файла nods.txt, и будет вытаскивать информацию из компов о количестве и качестве оперативной памяти в компах. Соответствнно будет создавать txt файлы с IP адресами в названии и найденной информации про оперативку внутри файлов.

Важное замечание - скрипт не всегда отрабатывает верно. Для правильной его работы нужны 2 условия как минимум - доступ к компу по сети (например запуск скрипта под учеткой доменного админа), и второе условие - запущенные службы на компе с которого будет сниматься информация (какие точно службы, уже не скажу - запамятовал). И еще одно - не надо запускать скрипт runme.cmd - он вызывается автоматически скриптом ramshow.bat.

Скрипт работал сносно при сканировании компов с Windows XP pro rus и на Windows 7 x86 rus.

Вот пример выдаваемой информации от скрипта:

System Name: Vasili-comp

Total Physical Memory: 2 028,4 Mb

-----------------------------------

DeviceID: C: - 403,3 Gb

-----------------------------------

BankLabel: A1_BANK0

Capacity: 2048Mb

DeviceLocator: A1_DIMM0

FormFactor: 8

-----------------------------------

DeviceID: Memory Device 0

Size: 2047,9990234375

-----------------------------------

Очень удобно - скрипт выводит имя компа, сколько всего оперативной памяти установлено в системе и сколько планок, а заодно показывает и оставшееся свободное место на жестком диске.

Если же у вас не будет хватать прав на доступ к компу по сети, то скрипт будет выдавать что то подобное этому:

Total Physical Memory: 0,0 Mb

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------