Попытка запустить командный файл с локального компьютера (не сервера) для запуска на каждом компьютере в домене - PullRequest
0 голосов
/ 29 октября 2018

Первое размещение здесь, поэтому я прошу прощения за любые ошибки заранее.

Я пытаюсь создать командный файл, который можно запустить с моего локального компьютера на каждый компьютер в домене. У нас есть программа, которая периодически решает не запускаться на компьютерах пользователей, и наш временный обходной путь для нас - вручную запустить строку кода из нашей локальной системы, чтобы запустить ее. Код выглядит следующим образом:

sc \\(user's computer name) start mtappmanager

для простоты я создал следующий пакетный файл, который значительно ускорил выполнение кода:

@ECHO OFF
echo.
SET /P cname=Enter computer number:
sc \\%cname% start mtappmanager
echo.
echo.
echo *** Ask the user to try now.
echo.
echo.
pause

К сожалению, пользователю все еще нужно позвонить нам, чтобы мы запустили его, поэтому я бы хотел, чтобы он запускался автоматически, без вмешательства пользователя (или нашего).

Наши компьютеры следуют простому формату нумерации C (4-значное число) или L (4-значное число), поэтому они будут выглядеть, например, как C1214 или L0657. Важно, чтобы «номер» компьютера состоял ровно из 4 цифр, для чего необходимо, чтобы при необходимости было задано соответствующее число 0. Выполнение кода для компьютера, на котором уже запущена программа, не наносит ущерба, поэтому я бы хотел, чтобы он запускался на каждом подключенном компьютере и, возможно, настраивался на выполнение по временному циклу. (Например, 300 секунд). Сначала я попробовал последовательную последовательность нумерации, но я не мог понять, как ввести ее в этот момент кода или как обеспечить последовательность из 4 цифр.

Есть предложения? Заранее спасибо за любую помощь!

1 Ответ

0 голосов
/ 29 октября 2018

Если у вас есть список компьютеров в домене, вы можете просто использовать цикл.

FOR /F "delims=" %%c IN ('TYPE "C:\Users\me\computerlist.txt"') DO (
    SC \\%%~c START mtappmanager
)

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

Чтобы пойти дальше, было бы полезно использовать PowerShell. Это позволит вам запросить список компьютеров в домене AD, проверить, доступны ли они, проверить, запущена ли уже служба, запустить службу, если это необходимо, и отправить электронное письмо пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...