Пакетный компьютер пропустить, если «сервер RPC не отвечает» - PullRequest
0 голосов
/ 24 января 2019

Привет всем, что я делаю инвентаризацию, и мне нужно получить информацию о целой тонне компьютеров.Переход к каждому и каждому не является вариантом, и именно поэтому я создал пакетный файл, где я набираю имя компьютера и получаю всю информацию, которая мне нужна на этом компьютере, а затем пакет спрашивает, хочу ли я получить информацию оследующий компьютер.Если я набираю «y», он запрашивает имя следующего компьютера и продолжает предоставлять вам информацию о компьютерах, пока я не нажму «n», и в этом случае окно командной строки закроется.Итак, что я хочу сделать, это если компьютер выключен или находится в автономном режиме или недоступен по какой-либо другой причине;если я получаю сообщение: "

Узел - (имя_компьютера)

ОШИБКА:

Описание = Сервер RPC недоступен.

", I 'Я хотел бы пропустить эту программу.На самом деле, если это возможно, если компьютер не отвечает, скажем, за 3 секунды, я бы хотел пропустить этот компьютер.То есть что-то вроде «if (это сообщение появляется) goto: anothercomputer»

Я уверен, что это возможно реализовать, я просто не знаю как.Я очень, очень, очень мало знаю о пакетных сценариях, и я не говорю о сценариях вообще ... Все, что я узнал, я узнал из Интернета, но еще так много нужно узнать ...

PS Я использую wmic / user / password / node (имя команды), чтобы получить всю информацию, если это имеет значение.

PPS Я довольно новичок в переполнении стека, поэтому имейте это в виду.

:Start 

@echo off 

set /p password="Password:" 

:Nextcomp 

set /p computer="Computer name:" 

wmic /user:username /password:%password% /node:"%computer%" memorychip get capacity 

set /P c=Do you want to get info about another computer (y/n)? 

if /I "%c%" EQU "y" goto :Nextcomp 

if /I "%c%" EQU "n" goto :End goto :choice 

pause 

:End

Обновление: можно ли показать, скажем, "4 ГБ" или хотя бы "4" вместо "4294967296"?Потому что я получаю информацию о емкости жесткого диска, и довольно сложно разделить большое число на 1073741824 (1024 *1024* 1024), чтобы получить размеры в ГБ.(Я имею в виду, что для 1 компьютера это вполне нормально, но для 100 и более - это довольно много математики ... И делить ее легче на 1024 раза в 3 раза, чем на другое большое число, которое трудно запомнить)

1 Ответ

0 голосов
/ 25 января 2019

ComputerList.txt Использовать IP или имя, например

127.0.0.1
MyComputer

Затем (/failfast означает, что если он не включен, он не ждет)

wmic /failfast:on /user:username /password:%password% /node:@"C:\computerList.txt" memorychip get capacity /Format:csv

Сделать ComputerList.txt

for /f "skip=3 delims=\" %%A in ('net view ^| findstr /v /C:"The command completed successfully"') do Echo %%A >> ComputerList.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...