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

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

Ответить
Настройки темы
CMD/BAT - Запуск AIDA на всех компах в сети

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


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

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


Нужно запустить в тихом (скрытом) режиме AIDA64, чтоб собрать данные о установленном железе.
Для этого нужно скопировать АИДУ на локальные компы пользователей домена.
Структура имен компьютеров K1, K2..K10..K100...K320 , все что начинается не на "K" сервера, их обрабатывать не надо, домен UOA. Права администратора есть, копировать и запускать прогу могу.
Прога должна отработать один раз, затем её запускать нет смысла.
Желательно увидеть список компьютеров на которых запускалась прога, чтобы проверить не обработанные прогой компы.


call aida64.exe /r %COMPUTERNAME% /silent /html /hw

Код: Выделить весь код
@echo on
set MyDomain=UOA
net view /DOMAIN:UOA > comps.txt          
rem Загвоздка как вытащить имя компа начинающийся на K
FOR /F "skip=4 tokens=1 " %%i in (comps.txt) do (
If Exist "%COMPUTERNAME%.htm" (
rem Контроль на повторный запуск проги
  GoTo :NEXT
)
copy c:\aida64\*.* "\\%COMPUTERNAME%\c\aida64" /y
NET.EXE START telnet %COMPUTERNAME%
call c:\aida64\aida64.exe /r %COMPUTERNAME% /silent /html /hw
copy "\\%COMPUTERNAME%\c\aida64\report\%COMPUTERNAME%.htm" \\fs\inventory$ /y

:Next
)

Отправлено: 21:43, 28-10-2011

 

Ветеран


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

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


Цитата Arsenik77:
Загвоздка как вытащить имя компа начинающийся на K »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

…

for /f "skip=4 tokens=1" %%i in (comps.txt) do (
	set sName=%%i
	if /i "!sName:~0,1!" equ "K" echo [!sName!]
)

…

endlocal
exit /b 0

Отправлено: 23:49, 28-10-2011 | #2



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

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


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


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

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


Структура файла comps.txt , нужны только имена компьютеров начинающиеся на K (без // и заметок)
Iska, твой код почему-то не работает.


Код: Выделить весь код
Имя сервера            Заметки

-------------------------------------------------------------------------------
\\BK       
\\K5                   АБК;7 этаж;Сбыт                                               
\\K100                 Компьютер Васи                               
\\K105                 Домашний                             
\\K108                 Рабочий комп      
\\PROXY                                                                        
\\PT

Отправлено: 09:27, 29-10-2011 | #3


Ветеран


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

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


Цитата Arsenik77:
Iska, твой код почему-то не работает. »
Если б Вы сразу выложили образец, или, если бы у меня в тот момент был доступ к сети, и я мог бы сам получить образец , я бы сделал так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

…

for /f "skip=4 tokens=1" %%i in (comps.txt) do (
	set sUNCName=%%i
	set sServerName=!sUNCName:~2!
	if /i "!sServerName:~0,1!" equ "K" echo [!sServerName!]
)

…

endlocal
exit /b 0

Отправлено: 11:36, 29-10-2011 | #4


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


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

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


Тоже стоит сейчас задача собрать данные о конфигурации компов в сети. Решил это делать стартап-скриптом. По идее, скрипт должен запускаться, проверять есть ли в хранилище отчётов отчёт о текущем компьютере. Если отчёт есть - ничего не делать, если же отчёта нет - запустить AIDA64 с определёнными параметрами, создать отчёт и положить его в хранилище отчётов. Отчёт представляет из себя файл (формат определяется отдельно в параметрах запуска AIDA64). Называется этот файл аналогично имени компьютера на котором был выполнен отчёт.

В Интернете нашёл 2 варианта скрипта для реализации этой идеи:
1. CMD
Код: Выделить весь код
if not exist \\share\audit\%COMPUTERNAME%.txt ( \\share\audit\aida\aida64.exe /R \\share\audit\%COMPUTERNAME% /TEXT /CUSTOM \\share\audit\aida\aida64.rpf ) else exit
2. VBScript

dim ComputerName
Set objNetwork = CreateObject("Wscript.Network")
ComputerName = objNetwork.ComputerName
Set WshShell = WScript.CreateObject("WScript.Shell")

dim ObjFso
Set objFSO = CreateObject("Scripting.FileSystemObject")
If not objFSO.FileExists("\\Company.Local\Services\AIDA64 Reports\"+ComputerName+".txt") Then
WshShell.Run "\\Company.Local\Files\Distributives\AIDA64\aida64.exe /R \\Company.Local\Services\AIDA64 Reports\$HOSTNAME /SUM /TEXT /SILENT"
end if


Попробовал запустить у себя на VBScript, но он в такой конфигурации отказывается работать. Методом тыка установил, что проблема в строке выделенной красным - видимо ошибка чисто синтаксическая какая-то, потому что, если изменить в ней путь (выделен жирным шрифтом) на какой-нибудь короткий локальный, типа C:\$HOSTNAME, то скрипт замечательно работает.

Прошу помощи специалистов!

-------
С Уважением,
Пётр Ластенко.


Отправлено: 23:49, 01-07-2012 | #5


Ветеран


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

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


Проблема в наличии пробела во втором пути. Попробуйте так:
Код: Выделить весь код
WshShell.Run """\\Company.Local\Files\Distributives\AIDA64\aida64.exe"" /R ""\\Company.Local\Services\AIDA64 Reports\$HOSTNAME"" /SUM /TEXT /SILENT"
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:53, 01-07-2012 | #6


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


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

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


Помогло! Спасибо!

-------
С Уважением,
Пётр Ластенко.


Отправлено: 00:01, 02-07-2012 | #7


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


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

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


Проблема с внедрением этого (VBS) скрипта через GPO\Scripts\Startup: http://forum.oszone.net/showthread.php?t=237739
Почему-то скрипт на VBS не удалось мне заставить работать через GPO, как Startup, а, при прочих равных, решение CMD заработало. Парадокс!

-------
С Уважением,
Пётр Ластенко.


Последний раз редактировалось PIL123, 02-07-2012 в 20:03.


Отправлено: 18:53, 02-07-2012 | #8


Новый участник


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

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


Поделитесь опытом создания rpf для Аиды. Интересует короткая информация о системе и железе.

Отправлено: 16:27, 02-11-2012 | #9


Аватара для CyberMuesli

Старожил


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

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


Цитата Arsenik77:
Нужно запустить в тихом (скрытом) режиме AIDA64, чтоб собрать данные о установленном железе.
Для этого нужно скопировать АИДУ на локальные компы пользователей домена. »
Прочитайте про psexec

-------
Кибер Мюсли


Отправлено: 18:49, 02-11-2012 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Смена адресов DNS на всех компах в домене. zippi Microsoft Windows NT/2000/2003 12 28-01-2016 08:29
Любой язык - [решено] как удалить папку на всех компах в домене ejik_off Скриптовые языки администрирования Windows 2 14-10-2009 15:43
Прочее - Не все страницы открываются на компах по сети zilwert Сетевое оборудование 1 13-09-2009 22:41
Route/Bridge - Настройка сети а 2х компах через ASUS am604 newigrok Сетевые технологии 8 20-04-2009 02:07
HDD - [решено] Как сделать так чтоб USB винт определялся на всех компах с одной и тойже буквой??? naumV Microsoft Windows 2000/XP 2 02-04-2009 06:47




 
Переход