Инвентаризация оперативной памяти по сети
Понадобилось как то узнать, сколько оперативы стоит в компах, и не надо ли каким из них сделать апгрейд. Заодно надо было узнать, не заканчивается ли где место на жестких дисках. Бегать по всем 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
-----------------------------------
-----------------------------------
-----------------------------------
-----------------------------------