50 рабочих станций, 1 файл .bat на сетевом сервере, это будет работать?

10

У меня есть файл .bat для обслуживания компьютеров. Я поместил файл .bat на сервер, подключенный к сети, чтобы все рабочие станции имели к нему доступ.

Если бы я использовал планировщик Windows, чтобы этот файл .bat работал в 12: 00: 00.000, скажем, на 50 рабочих станциях, смогут ли они все запустить его или произойдет ошибка?

PS не проси меня попробовать = P

Mechaflash
источник
2
Не должно быть никаких проблем с этим, поскольку это довольно распространенная практика в среде Windows. Единственная возможная проблема, с которой вы можете столкнуться при одновременной работе файла с 50 рабочими станциями, - это пропускная способность сети, хотя это зависит исключительно от того, что именно делает пакетный файл, - скорее всего, это не будет проблемой.
MaQleod
5
Попробуйте и посмотрите: p
Sandeep Bansal
@MaQleod Размер самого файла bat составляет всего 1 КБ. Тем не менее, он запускает проверку дефрагментации, и если рабочая станция должна выполнить дефрагментацию, сценарий ожидает завершения дефрагментации, прежде чем перейти к следующей команде. Верите ли вы, что рабочая станция активно подключена к этому файлу .bat на сервере, или если он временно импортирован локально при доступе?
Mechaflash
Обратите внимание, что в планировщике заданий есть функция для изменения времени запуска запланированного задания, точно так, что 50 машин не работают идеально синхронизированными. Это в Win7, но не в Win2K; Я не знаю, когда это было введено. Если ваша установка вызывает у вас проблемы, это один из возможных способов ее смягчения.
RBerteig
2
Моя сеть использует приложение развертывания для управления рабочими станциями ~ 4K. Существует один сервер, который выступает в качестве хранилища для наших скриптов и программного обеспечения. Я запланировал работу на 1000 рабочих мест одновременно. Если ваша инфраструктура до этого, все будет хорошо. Учитывая, что это простой текстовый пакетный файл, я не могу представить, что это будет проблемой.
Джскотт

Ответы:

11

Это должно работать, если у учетной записи, с которой вы запускаете запланированное задание, есть правильный доступ к общему сетевому ресурсу, где находится файл bat.

В зависимости от того, что делает скрипт, я бы разбил время выполнения по отделам. Вам понадобится всего лишь одна или две минуты дисперсии, чтобы минимизировать шансы ошеломляющего удара прямо в 12. Что касается вышеприведенного комментария, который упоминает сценарий входа в систему, в который попадает большое количество машин, то входы в систему компьютера происходят не в одно и то же время. Даже разница в несколько секунд между входами в систему приведет к разному времени доступа к сценарию, поэтому его случай, хотя и близкий, не совсем совпадает с вашим в отношении высокого уровня одновременного доступа к файлу.

music2myear
источник
Да, я тестировал сценарий на нескольких рабочих станциях, и он отлично работает. Однако я еще не запускал их одновременно, и мне было любопытно, столкнусь ли я с препятствием, если все они выполнят один сценарий в одно и то же время. Не хочу приходить в офис на следующее утро, когда на всех рабочих станциях появляется экран с ошибкой, а мой нетехнический начальник
сходит с ума по
С 50 рабочими станциями я не думаю, что слишком вероятно, что сервер будет поврежден, или у отдельных рабочих станций будут проблемы. Но по двум причинам было бы лучше сделать это «правильно» с самого начала: вам не придется ничего менять при обновлении или расширении, и лучше быть в безопасности, чем потом сожалеть. С этими несколькими рабочими станциями было бы не сложно распределить время выполнения на 5 групп, каждый из которых обрабатывает одну минуту после запуска предыдущей группы, или 2 группы, в зависимости от того, что работает.
music2myear
1
Да уж. Мои первоначальные мысли заключались в том, чтобы распределить его по получасовым интервалам, и каждый отдел получал свой собственный день месяца для обслуживания, чтобы помочь смягчить любые проблемы, которые могут возникнуть из-за обслуживания.
Mechaflash
5

Работа с командным файлом будет работать, но следует учитывать ограничения, такие как наличие соответствующих разрешений и требований администратора.

Вы можете рассмотреть возможность его развертывания в качестве сценария входа через Active Directory.

Сумасшедший мальчик
источник
5

Почему вы думаете, что это может привести к ошибке? Каждая рабочая станция просто читает файл и выполняет свои команды. Если ваш сервер - настоящий сервер, а не просто рабочая станция, претендующая на статус сервера, проблем не будет.

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

Джон Гарденье
источник
3

Я считаю, что это работает нормально. Но реальность лучше, поэтому позвольте мне сказать, что мы используем файл .cmd в качестве сценария входа. Он централизованно размещен на сервере и доступен 6-800 ПК каждое утро во время входа в систему. Мы никогда не сталкивались с проблемой множественного доступа к сценарию одновременно.

uSlackr
источник
Что делать, если вам нужно было загрузить все машины и послать команду запуска на все 800 компьютеров, чтобы получить доступ к этому сценарию сразу? XD Вот в чем вопрос
Mechaflash
Это должно работать в любом случае. Пока вы не пишете в файл, 800 машин могут его прочитать.
MadBoy
Mechaflash - моя точка зрения заключалась в том, что у нас много рабочих станций, которые делают это каждый день. Запланировано или нет, многие попали в файл сразу, без происшествий.
uSlackr
3

Я ожидаю, что ответ будет положительным.

Компания, в которой я работаю, имеет пакетный файл, который запускается с сетевого файлового ресурса, который запускается при запуске каждой машины. Если бы в вашем вопросе возникли проблемы того типа, который вы ожидали, то пакетный файл мог бы работать регулярно, но, насколько я знаю, он работает каждый раз.

Mokubai
источник
То же самое с нами. Однако каждая машина не загружается в одну и ту же миллисекунду по времени. И даже если они загружаются одновременно, каждый компьютер загружается с разной скоростью, так что это не имеет значения. Этот пакетный файл запускается среди ночи, когда все машины уже загружены и находятся на экране входа ctrl + alt + dlt.
Mechaflash
Хороший момент, хотя в нашем случае некоторые из машин работают по медленным VPN-каналам, которые потенциально могут «заблокировать» пакетный файл на длительные периоды (порядка десятков секунд), это, однако, не является проблемой.
Файлы должны быть заблокированы, только если они открыты для редактирования. В случае запуска командного файла он не блокируется, когда рабочие станции только читают или запускают его.
KJ-SRS
1

Одна из возможных причин, по которой это может не сработать, заключается в том, что ваш сервер не лицензирован для 50 одновременных подключений. Это вряд ли будет проблемой в любом реальном развертывании, но если «сервер», скажем, Windows XP или что-то еще, у вас будут проблемы. Если у вас есть настоящая серверная версия Windows и достаточно клиентских лицензий, я не вижу причин, по которым наличие 50 клиентов, читающих один пакетный файл одновременно, само по себе было бы проблемой.

Эндрю
источник