bredych
23-03-2018, 16:59
Понимаю, что где-то мелочь, что задача-то откровенно пустячная, но где косяк - не допираю.. не хватает системного обучения ((
Или быть может, wmic не поддерживает переменных из батника?
Задача - собрать список установленного софта на компах (начнем с простого)
Скрипт примитивный
set DomainUserUPN=domain\[admin-acc]
set /P DomainUserPassword=password...
set FILELOG=%~n0.log
set LIST=pclist.txt
if exist %FILELOG% set LIST=%FILELOG%
for /f "tokens=*" %%i in (%LIST%) do call :SLST %%i
goto EOF
:SLST
echo %%i" >> software1_list.txt
set PK=%1\c$
net use \\%PK% /d
net use \\%PK% %DomainUserPassword% /user:%DomainUserUPN% || goto NO_CONN
wmic /node:"%%i" /output:temp2.txt product get name
for /f "tokens=* delims==" %%a in (temp2.txt) do (echo %%a >> software1_list.txt )
goto EOF
:NO_CONN
echo %1 >>%LOG%
:EOF
Но wmic не раскрывает переменную в имя компа из списка, пишет
D:\Bats>wmic /node:%i /output:temp2.txt product get name
Node - %i
ERROR:
Description = The RPC server is unavailable.
Я и кавычки лепил, и процент убирал, ну не знаю, какой еще танец с бубном ему устроить, чтоб он воспринял..
Ну и насчет второй строчки
(назначение - сформировать список вида
имя-компа
софт
софт
софт
имя компа
софт
софт
софт
)
не уверен, что не накосячил тоже.
Или быть может, wmic не поддерживает переменных из батника?
Задача - собрать список установленного софта на компах (начнем с простого)
Скрипт примитивный
set DomainUserUPN=domain\[admin-acc]
set /P DomainUserPassword=password...
set FILELOG=%~n0.log
set LIST=pclist.txt
if exist %FILELOG% set LIST=%FILELOG%
for /f "tokens=*" %%i in (%LIST%) do call :SLST %%i
goto EOF
:SLST
echo %%i" >> software1_list.txt
set PK=%1\c$
net use \\%PK% /d
net use \\%PK% %DomainUserPassword% /user:%DomainUserUPN% || goto NO_CONN
wmic /node:"%%i" /output:temp2.txt product get name
for /f "tokens=* delims==" %%a in (temp2.txt) do (echo %%a >> software1_list.txt )
goto EOF
:NO_CONN
echo %1 >>%LOG%
:EOF
Но wmic не раскрывает переменную в имя компа из списка, пишет
D:\Bats>wmic /node:%i /output:temp2.txt product get name
Node - %i
ERROR:
Description = The RPC server is unavailable.
Я и кавычки лепил, и процент убирал, ну не знаю, какой еще танец с бубном ему устроить, чтоб он воспринял..
Ну и насчет второй строчки
(назначение - сформировать список вида
имя-компа
софт
софт
софт
имя компа
софт
софт
софт
)
не уверен, что не накосячил тоже.