Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сбор информации о системе bat

Ответить
Настройки темы
CMD/BAT - [решено] Сбор информации о системе bat

Пользователь


Сообщения: 57
Благодарности: 0


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Добрый день!

Я знаю про то, что есть wmi/systeminfo
Но соль в том что у нас стоят как Seven pro, XP pro так и XP HOME
Есть утилита хорошая CPU-Z она срабатывает на всех системах, но слишком много ненужной информации. Нужна только основная.

Возможно ли с помощью bat вытащить информацию такую как:

Название ОС , архитектуру и модель процессора, модель материнской платы, объем оперативки (желательно в Mb), объем жестких дисков (желательно в Mb), модель видеоадаптера.

что я уже нашел:

Название ОС
ver

Архитектура процессора
echo %PROCESSOR_ARCHITECTURE%

Где то видел как узнать объем HDD но потерял источник, никак не могу найти..

Отправлено: 10:34, 19-04-2013

 

(*.*)


Сообщения: 36557
Благодарности: 6694

Профиль | Сайт | Отправить PM | Цитировать


PowerShell ставится в качестве обновления ХР - [решено] Сбор и анализ сведений о системе с помощью PowerShell

Примерно так:

Код: Выделить весь код
$OS = gwmi win32_operatingsystem -property caption,osarchitecture,version
$SystemInfo = new-object –type psobject –property @{
 "Name" = $OS.Caption
 "Arch" = $OS.OSArchitecture
 "Version" = $OS.Version  
}

$HardwareInfo = new-object –type psobject –property @{
				"CPU" = (Get-Wmiobject Win32_Processor)["Name"]
				"RAM" = (get-wmiobject Win32_Computersystem)["TotalPhysicalMemory"]
}

write-host Компьютер работает под управлением $($SystemInfo.Name) $($SystemInfo.Version) $($SystemInfo.Arch)
write-host Установлен процессор $($HardwareInfo.CPU)
write-host Системе доступно $([int]$(($HardwareInfo.RAM)/1mb)) Mb оперативной памяти
и т.д.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 11:23, 19-04-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 57
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Цитата Vadikan:
PowerShell ставится в качестве обновления ХР »
Это хорошо, а средствами bat есть возможность?

Последний раз редактировалось timbird, 19-04-2013 в 14:17.


Отправлено: 12:40, 19-04-2013 | #3


(*.*)


Сообщения: 36557
Благодарности: 6694

Профиль | Сайт | Отправить PM | Цитировать


timbird, конечно, посмотрите - там везде используется WMI. Используйте wmic.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 17:54, 19-04-2013 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата timbird:
Возможно ли с помощью bat вытащить информацию »
«wmic.exe /?». Набор соответствующих классов и свойств возьмите из сообщения выше. Например:
Код: Выделить весь код
wmic.exe /node:ComputerVasjaPupkin Path Win32_OperatingSystem get Caption, OSArchitecture, Version
Вместо «Path Win32_OperatingSystem» «wmic.exe» позволяет использовать псевдоним «OS». Обращайте внимание на существование классов и их свойств для конкретных ОС. Например, у вышеуказанного класса Win32_OperatingSystem свойство «OSArchitecture» существует только для ОС от Vista и старше:
Цитата:
Windows Server 2003, Windows 2000, Windows NT 4.0, Windows XP, and Windows Me/98/95: This property is not available.
Читайте описания классов и свойств.

P.S.
Цитата timbird:
Я знаю про то, что есть wmi/systeminfo
Но соль в том что у нас стоят как Seven pro, XP pro так и XP HOME »
Похоже, что мало знаете. Технология Wbem (у Вас — «wmi») в аккурат для того и предназначена.

P.P.S. Вы совершенно напрасно не хотите установить и пользовать PowerShell.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:41, 19-04-2013 | #5


Пользователь


Сообщения: 57
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Цитата Iska:
«wmic.exe /?» »
Это работает на профессиональных версиях, на домашних (xp home) нет такой фичи

Последний раз редактировалось timbird, 22-04-2013 в 14:06.


Отправлено: 13:09, 22-04-2013 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


timbird, я полагаю, для сбора информации одну-то Professional:
Цитата timbird:
Но соль в том что у нас стоят как Seven pro, XP pro так и XP HOME »
на производстве Вы найдёте? Да, «wmic.exe» отсутствует в комплекте Home Edition. Но для того, чтобы Home Edition отвечала на Wbem-запросы, этого и не требуется.

Отправлено: 15:37, 22-04-2013 | #7


Пользователь


Сообщения: 57
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Iska, я кажется понял Вас. С помощью wmic можно собрать инфу не только локальном ПК но и в сети, да? не знал, надо почитать.

Суть в том, что специальный батник отправлется пользователю, тот его запускает: батник конфигурирует систему, инсталирует необходимые программы, а также должен собирать инфу о железе и сохранять в текстовом файле на общем ресурсе. С проф версиями проблем нет, я использую код найденный в нэте который как раз и использует средства wmic

Код: Выделить весь код
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC OS GET Caption^,CSDVersion /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo OS:		%%B, %%C >> \\192.168.12.223\change\pc\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC CPU GET Name^,MaxClockSpeed /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo CUP:		%%C, %%B MHz >> \\192.168.12.223\change\pc\%date%_%computername%.txt

For /f "usebackq tokens=1,2 delims==" %%i in (`wmic.exe ComputerSystem GET TotalPhysicalMemory /VALUE ^|find.exe "TotalPhysicalMemory"`) do (
	set /a iTotalPhysicalMemory = "%%j>>20"
	)
	echo RAM:		%iTotalPhysicalMemory% Mb >> \\192.168.12.223\change\pc\%date%_%computername%.txt
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC COMPUTERSYSTEM GET TotalPhysicalMemory /VALUE^|FindStr .^|FindStr /n .') Do Call echo RAMb:		%%B bytes >> \\192.168.12.223\change\pc\%date%_%computername%.txt	
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC DISKDRIVE Where InterfaceType^=^'IDE^' GET Model /VALUE^|FindStr .^|FindStr /n .') Do Call echo HDD:		%%B >> \\192.168.12.223\change\pc\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC path Win32_VideoController GET Name^,AdapterRAM /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo VIDEOCARD:	%%C, %%B bytes RAM >> \\192.168.12.223\change\pc\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC BASEBOARD GET Manufacturer^,Product /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo MOTHERBOARD:	%%B, %%C >> \\192.168.12.223\change\pc\%date%_%computername%.txt
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC path Win32_NetworkAdapter Where ^"AdapterTypeId^=0 And NetConnectionStatus^=2^" GET Name /VALUE^|FindStr .^|FindStr /n .') Do Call echo NETWORK CARD:	%%B >> \\192.168.12.223\change\pc\%date%_%computername%.txt
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC path Win32_SoundDevice GET Name /VALUE^|FindStr .^|FindStr /n .') Do Call echo SOUND CARD:	%%B >> \\192.168.12.223\change\pc\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC BIOS GET Manufacturer^,Name /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo BIOS:		%%B, %%C >> \\192.168.12.223\change\pc\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC path Win32_VideoController GET VideoModeDescription^,CurrentRefreshRate /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo MONITOR:	%%C, %%B Hz >> \\192.168.12.223\change\pc\%date%_%computername%.txt
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC path Win32_CDROMDrive GET Name /VALUE^|FindStr .^|FindStr /n .') Do Call echo DRIVE:		%%B >> \\192.168.12.223\change\pc\%date%_%computername%.txt
В общем с компов с проф виндой инфа собирается а с home нет. Но надо почитать про wmic подробнее, спасибо что дали направление.

Отправлено: 16:42, 22-04-2013 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата timbird:
С помощью wmic можно собрать инфу не только локальном ПК но и в сети, да? »
Угу.
Код: Выделить весь код
wmic.exe /node:Machine01, Machine02, … MachineNN OS get Caption, Version
Имена/адреса также можно приводить в текстовом файле, имя которого указывать аргументом параметра «/node»:
Код: Выделить весь код
wmic.exe /node:@c:\MachineList.txt  OS get Caption, Version
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:26, 22-04-2013 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сбор информации о системе bat

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Сбор информации по файлам Serg2010 AutoIt 1 14-11-2011 10:35
Сбор информации и разные IP User15 Хочу все знать 7 30-12-2010 11:49
Сбор информации о пользователях и группах. GamblerAN Microsoft Windows NT/2000/2003 5 30-11-2010 12:49
FreeBSD - [решено] Сбор информации по системе CnyH9I Общий по FreeBSD 9 11-05-2010 14:51
Сбор информации о загруженности сервера. Zergling Microsoft Windows NT/2000/2003 1 04-06-2007 10:36




 
Переход