![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужна помощь с выгрузкой из WMIC |
|
CMD/BAT - [решено] Нужна помощь с выгрузкой из WMIC
|
Новый участник Сообщения: 36 |
Добрый день, есть необходимость создать батник для сбора информации о ПК, в процессе написания столкнулся с некоторыми проблемами, буду благодарен если поможете разобраться.
Мой код: Скрытый текст
@echo on
chcp 1251 >nul color 70 echo COMPUTER NAME: %computername% >> %date%_%computername%.txt For /F "Tokens=1* " %%A In ('WMIC OS GET CSDVersion^, Caption^|FindStr .^|More +1^|FindStr /n .') Do echo OS: %%B >> %date%_%computername%.txt For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC OS GET OSArchitecture /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do echo ARCHITECTURE: %%B >> %date%_%computername%.txt For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC OS GET InstallDate /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do echo INSTALL_DATE: %%B >> %date%_%computername%.txt WMIC OS GET InstallDate |FindStr : >> %date%_%computername%.txt For /F "Tokens=1,3* delims=,:" %%A IN ('WMIC OS GET TotalVisibleMemorySize /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do echo RAM: %%B Kb >> %date%_%computername%.txt For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC CPU GET Name^ /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do echo CPU: %%B >> %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 echo NETWORK CARD: %%B >> %date%_%computername%.txt For /F "Tokens=1* Delims==:" %%A In ('WMIC path Win32_NetworkAdapter Where ^"AdapterTypeId^=0 And NetConnectionStatus^=2^" GET MACAddress^|FindStr .^|More +1^|FindStr /n .') Do echo MACAddress: %%B >> %date%_%computername%.txt For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC BIOS GET Manufacturer^,Name /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do echo BIOS: %%B, %%C >> %date%_%computername%.txt For /F "Tokens=1,3 Delims==:" %%A In ('WMIC path Win32_SoundDevice GET Name /VALUE^|FindStr .^|FindStr /n .') Do echo SOUND CARD: %%B >> %date%_%computername%.txt For /F "Tokens=1,3 Delims==:" %%A In ('WMIC DISKDRIVE Where InterfaceType^=^'IDE^' GET Model /VALUE^|FindStr .^|FindStr /n .') Do echo HDD: %%B >> %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 echo VIDEOCARD: %%C, %%B bytes RAM >> %date%_%computername%.txt pause в результате выдает: Скрытый текст
COMPUTER NAME: R2D2
OS: Windows 7 Professional Service Pack 1 ARCHITECTURE: 32-bit INSTALL_DATE: 20150311103240.000000+180 RAM: 3145272 Kb CPU: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz NETWORK CARD: Ђ¤*ЇвҐа ¬*ЈЁбва*«м*®© бҐвЁ ўЁавг*«м*®© ¬*иЁ*л (Њ*©Єа®б®дв) #6 MACAddress: 00:15:5D:C4:C0:00 BIOS: American Megatrends Inc., BIOS Date: 05/23/12 17:15:53 Ver: 09.00.06 HDD: Virtual HD ATA Device HDD: Virtual HD ATA Device VIDEOCARD: , ‚Ё¤Ґ®гбва®©бвў® иЁ*л VMBus (Њ*©Єа®б®дв) bytes RAM 1) Не могу понять почему при выгрузке не меняется кодировка с 866 на 1251, хотя chcp 1251 >nul в начале батника указываю. 2) Подскажите как произвести форматирование выгружаемых данных в строке INSTALL_DATE: с 20150311103240.000000+180 на 2015.03.11 (заменить выгрузку строки не из WMIC а из sysinfo не предлагать) 3) Как перевести выгружаемые данные в строке RAM из Кb в Мb. Побывал сделать через переменную: Скрытый текст
For /F "Tokens=1,3* delims=,:" %%A IN ('WMIC OS GET TotalVisibleMemorySize /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do (
set /a Memory = "%%B/1024" ) echo RAM: %Memory% Mb >> %date%_%computername%.txt но безрезультатно, в чем косяк понять не могу. 4) Если кто знает есть ли возможность через WMIC выгрузить имена учетных записей на ПК (Windows 7). Буду благодарен за пример. В результате хотелось бы чтобы информация выводилась в следующем формате: Скрытый текст
COMPUTER NAME: R2D2 OS: Windows 7 Professional Service Pack 1 ARCHITECTURE: 32-bit INSTALL_DATE: 2015.03.11 RAM: 3072 МB CPU: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz NETWORK CARD: Адаптер магистральной сети виртуальной машины (Майкрософт) #6 MACAddress: 00:15:5D:C4:C0:00 BIOS: American Megatrends Inc., BIOS Date: 05/23/12 17:15:53 Ver: 09.00.06 HDD: Virtual HD ATA Device HDD: Virtual HD ATA Device VIDEOCARD: Видеоустройство шины VMBus (Майкрософт) bytes RAM USER NAME: |
|
Отправлено: 15:28, 18-11-2015 |
Новый участник Сообщения: 36
|
Профиль | Отправить PM | Цитировать Вот нашел способ выгрузить нужные данные через реестр, но появилось 2 вопроса
For /F "Tokens=3 Delims== " %%A IN ('Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-20" /F ProfileImagePath') DO set I=%%A Echo %I% 1) Кто может подсказать, как в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ сделать выгрузку значений ветки подходящих под маску S-1-5-2*? 2) При выгрузке ProfileImagePath получается запись типа C:\Windows\ServiceProfiles\NetworkService, как оставить значение после последнего \. Т. к. путь может быть разной длины, при помощи Findstr я не представляю как это можно задать. Кто может подсказать? |
Отправлено: 15:34, 18-02-2016 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 8ash8:
|
|
Отправлено: 15:59, 18-02-2016 | #12 |
Новый участник Сообщения: 36
|
Профиль | Отправить PM | Цитировать При входе под доменной учеткой, на ПК создается профиль пользователя, мне нужно выгрузить имена всех пользователей, которые логинелись на ПК под своими доменными записями, стандартные учетки мне без надобности. На основании статьи статьи мне нужны учетки с sid S -1.5-домен-512 и 513.
Выгружая параметр ProfileImagePath мы получаем путь к файлу профиля, а имя профиля в свою очередь и будет именем доменной утечки из под которой входили на ПК. Т.к. Пользователей может быть несколько то мне нужно чтобы выгружались все по маске. |
Отправлено: 16:32, 18-02-2016 | #13 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 8ash8:
Цитата 8ash8:
Получайте только SID'ы, а затем по ним делайте запрос к контроллеру на разрешение SID'а в какое-нибудь из потребных имён учётной записи. |
||
Отправлено: 16:53, 18-02-2016 | #14 |
Новый участник Сообщения: 36
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Вот только при обращении к контроллеру по средством wmic необходимо порядка 2,5 часов (порядка 100к записей), чтобы запрос отработал, что не приемлемо по времени ((. Можно конечно попробовать выгружать записи с контролера в файл к примеру раз в неделю и уже сверяться с ним, но тогда вопрос в каком формате лучше выгружать, чтобы скрипт быстрее отрабатывал? |
|
Отправлено: 10:16, 19-02-2016 | #15 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать 8ash8, на wmic свет клином не сошелся. Зачем городить велосипед на костылях если есть давно придуманный (и, кстати, уже упоминавшийся) dsquery?
|
Отправлено: 10:40, 19-02-2016 | #16 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 8ash8:
Цитата 8ash8:
|
||
Отправлено: 10:43, 19-02-2016 | #17 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Скрипт копирующий из ftp телефона только новые файлы, нужна помощь !!! | Striker1000 | Скриптовые языки администрирования Windows | 2 | 14-06-2014 18:48 | |
зависает из-за видеокарты(мое мнение),нужна ваша помощь | object268 | Непонятные проблемы с Железом | 1 | 08-01-2014 18:08 | |
RAID - Вышел из строя 1 HDD из RAID 5, нужна помощь | ADsys | Накопители (SSD, HDD, USB Flash) | 0 | 15-11-2012 14:35 | |
[решено] Нужна помощь для выхода из гибернации | Tapac | Ноутбуки | 3 | 19-09-2011 10:55 | |
Разное - проблема с выгрузкой дисков из DVD-ROM | sasa74 | Microsoft Windows Vista | 2 | 01-03-2010 10:26 |
|