PDA

Показать полную графическую версию : синтаксис bat -ника


Страниц : 1 [2]

bredych
29-12-2016, 09:36
Так не пашет? »
Invalid verb
без кавычек имя компа - Invalid global switch

Если, как читал в ссылке выше (http://www.computerhope.com/wmic.htm), ноду без слеша писать (потому что после неё не имя листа с компами, а само имя компа), то
Alias not found
вне зависимости от того, есть ли пробел перед именем компа, заключено оно в кавычки или нет.

В крайнем случае можно заменить имена на IP-адреса »
увы, нельзя. Лист машин я беру из всус консоли, а в домене DHCP, то есть даже если заранее слеплю что-то, запрашивающее текущие ИПы по именам, не факт, что кто-нибудь из юзеров не перезагрузится и не получит другой ип.

bredych
29-12-2016, 10:11
О! сработало без указания пути! уффф!

wmic /USER:"юзер" /PASSWORD:"пароль" /NODE:"имякомпа" os get Caption
спасибо!

зато теперь странное с продолжением в уже самом скрипте..

D:\bats\Bats>psexec \\D2_OZ324-5 -u (domain\user) -p (password) -i -d -c D:\Ins
tall\SysTools\Windows6.1-KB3172605-x86(WU_update).msu /quiet /forcerestart

PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

Copying D:\Install\SysTools\Windows6.1-KB3172605-x86(WU_update).msu to D2_OZ324
Starting D:\Install\SysTools\Windows6.1-KB3172605-x86(WU_update).msu on D2_OZ324

PsExec could not start Windows6.1-KB3172605-x86(WU_update).msu on D2_OZ324-5:
The system cannot find the file specified.

имена компов чтоль в кавычках еще давать, чтоб окончание не отрезал? Никогда ж не требовалось, или я совсем склерожу?

Petya V4sechkin
29-12-2016, 10:19
bredych, похоже, минус (дефис) воспринимается как следующая опция.
имена компов чтоль в кавычках еще давать, чтоб окончание не отрезал?
Попробуйте.

bredych
29-12-2016, 11:15
Хм... "Execute process remotely has stopped working" и просит отправить ошибку в микрософт на попытке запуска команды инсталла апдейта. Оба раза.
То есть, с кавычками он не понимает имени вообще..
В смысле, вот так -
psexec \\"%1" -u %DomainUserUPN% -p %DomainUserPassword% -i -d -c D:\Install\SysTools\%up% /quiet /forcerestart

напомните еще, в какую точку перенаправлять из цикла по %errorlevel% NEQ 0 в ответ на первую же команду в цикле в случае, если комп не онлайн в данный момент? Чтоб не выходило из цикла, а просто следующее имя брало. А то пинает-пинает каждую молчащую тушку по каждой команде.. времени жалко..

Petya V4sechkin
29-12-2016, 11:19
bredych, ну а если вместо \\name использовать @list - список с именами?

bredych
29-12-2016, 11:34
Petya V4sechkin, в смысле проверку на общение? И если еррорлевел = 0, то вызывать цикл через call, а если нет, то переходить к следующему имени? Но тогда не особо представляю, как передавать в цикл переменную с текущим именем компа из листа (при ошибке, как понимаю, и без задания отдельного условия перейдет на следующее имя)

Или это про команду на инсталл? Тогда нельзя: сначала надо остановить сервисы, проверить версию выни для выбора нужного именно той машине апдейта, и только потом его пытаться инсталлить.

alpap
29-12-2016, 12:29
The system cannot find the file specified »
вообще-то:
Система не может найти указанный файл

может

psexec \\"%~1" -u %DomainUserUPN% -p %DomainUserPassword% -i -d -c "D:\Install\SysTools\%up%" /quiet /forcerestart


и что показывает просто команда

@echo on
set "w7up=Windows6.1-KB3172605-x86(WU_update).msu"
set "w8up=Windows8.1-KB3172614-x86(WU_update).msu"
if exist "D:\Install\SysTools\%w7up%" echo "D:\Install\SysTools\%w7up%"
if exist "D:\Install\SysTools\%w8up%" echo "D:\Install\SysTools\%w8up%"
pause


и как советовал Petya V4sechkin, что дает: (конкретно для вашего кода, в переменной FLIST файл со списком имен компьютеров):

psexec \\@%FLIST% ...

для верности лучше вживую: psexec \\@ИМЯ ФАЙЛА.расш ...

bredych
29-12-2016, 15:05
Система не может найти указанный файл »
потому что копирует его не на указанный комп, а неизвестно куда. И неизвестно откуда пытается запустить. Ну хоть чуть-чуть внимательности.. что дает: (конкретно для вашего кода, в переменной FLIST файл со списком имен компьютеров): »
нельзя. писал же. Это машины, на которых работают люди. Сейчас работают. Удаленно делаю еще и потому, что работы у них много и отрывать их крайне нежелательно. Тем более, чтоб потом ходить смотреть, что у них за ошибки полезут после игр.




© OSzone.net 2001-2012