2 Евген
полагаю что (шаг, начальное значение, конечное значение)
Точнее, "начало,шаг,конец"
ещё... забыл такое... у нас много офисов, и под значением host в названии компьютеров могут быть разные буквы.
Например irbh, irsh, nefh, regh... т.е. это бы в начале как-то предусмотреть (если есть возможность) чтобы само брало из названия компа первые 4 символа, или устроил бы вариант в ручную в переменной указывать первые 4 символа...
Однозначного решения просто не будет, точнее, в таком случае лучше использовать конструкцию цикла for в которой список не вчисляется, а просто перечисляется в скобках. Разумеется, при таком формате ключ /L уже не используется. Выглядеть будет примерно так:
for %%i in (remotehost1 remotehost2 nearhost1 nearhost2 localserver1 localserver2) do (
rem Все остальные операторы без изменений
)
Либо можно внести список серверов в отдельный файл и считывать в цикле for построчно имена компьютеров (серверов или рабочих станций - уже не важно). В это случае необходимо использовать конструкцию for /F.
Допустим, в корне диска D: у Вас есть файл с именем hosts.lst - простой текстовый файл, где на каждой строке указано только одно имя обрабатываемого хоста, например:
srv1
srv2
srv3
remotesrv1
remotesrv2
remotesrv3
localsrv1
localsrv2
localsrv3
dc1
dc2
dc3
sql1
sql2
sql3
sccm1
sccm2
sccm3
Теперь конструкция цикла будет выглядеть вот так
for /F %%i in (d:\hosts.lst) do (
rem Все остальные операторы без изменений
)
В этом случае цикл прост считывает построчно имена хостов из указанного файла и, присваивает занчение переменной %%i и выполняет с ними теже самые действия. что и первоначальном варианте.
PS
Я все хотел поинтересоваться, зачем Вам нужен такой непростой вариант с использованием сценариев? Вы не используете Active direcotry? Если используете, в ней все будет реализовываться гораздо проще и безопасней (пароли то в в сценарии придется вводить прямо в текст самого сценария прямым текстом или заморачиваться со считыванием их из другого файла.)