Назад | Перейти на главную страницу

как посетить каждый компьютер в сети и изменить файл hosts в Windows XP

Нам нужно добавить строку в файл hosts для каждого пользователя в нашей сети. У меня есть права администратора, но я ничего не знаю о сценариях Windows. Может ли кто-нибудь указать мне в этом правильном направлении? У меня нет списка всех имен машин, поэтому я бы предпочел сценарий, который обнаружит все машины в сети и выполнит обновление.

Я понимаю, что вопрос заключается в изменении файла хоста через vbscript.

Было бы более эффективным создать новую внутреннюю запись DNS для имени хоста, которое вы пытаетесь разрешить? Если вы действительно хотите, чтобы КАЖДЫЙ пользователь / компьютер в сети видел это изменение, возможно, это было бы проще?

Если у вас есть домен, просто используйте метод сценария входа (объект групповой политики) другие предлагают и скажите всем перезагрузиться.

Лучше: добавьте запись на свой локальный DNS-сервер вместо.

В противном случае VBScript по-прежнему не требуется. Рассмотрим пакетный файл с такими строками:

echo 10.20.30.40 fishsticks >> \\hostname\c$\windows\system32\drivers\etc\hosts

В стороне: вы не кажетесь организованным.

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

Возьмите электронную таблицу и посчитайте машины, если нужно.

Не используйте файлы "HOSTS". Период. Любое «решение», которое пользователи HOSTS-файлов создают, просто создает новую проблему.

Полагаю, у вас есть домен Active Directory. Запустите консоль управления «Управление DNS» на контроллере домена (который, скорее всего, также является одним из ваших DNS-серверов), откройте узел сервера, узел «Зоны прямого просмотра» и выделите зону, соответствующую вашему активному Справочник домена. Нажмите «Действие» (в меню) и «Новый хост». Введите имя хоста и IP-адрес нового хоста.

В течение 5 минут клиенты этого DNS-сервера смогут разрешить это имя хоста.

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

Кукольный это решение для управления конфигурацией, которое говорит это поддерживает окна :)

Если не считать такого инструмента, как SCCM, вы не сможете обнаружить точный список машин в сети.

Первой задачей будет поиск хостов:

  1. Если вы можете использовать сценарий запуска в GPO, это легко

  2. Если нет, то, если вы не слишком разбираетесь в написании сценариев, я бы применил подход непрофессионала. Сначала используйте такой инструмент, как angryIP, чтобы получить список всех рабочих столов Windows, с помощью которых вы хотите изменить инструмент.

Затем...

  1. Если у вас есть GPO, я бы просто написал командный файл, в котором есть что-то вроде echo 192.168.0.2 hostname > %systemroot%\system32\drivers\etc\hosts.

  2. Если у вас нет GPO, посмотрите PStools (в частности, PSexec). Скопируйте имена хостов, обнаруженные с помощью angryIP, в файл хоста, а затем используйте psexec для запуска команды с файлом имени хоста в качестве массива, это будет выглядеть примерно так psexec @hostfile "echo 192.168.0.2 hostname>% systemroot% \ system32 \ drivers \ etc \ хосты "

Может, пора там настроить локальный DNS? :)

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

Если вы используете сервер шлюза, измените там хосты, и все будет хорошо. В противном случае, если ваш маршрутизатор (cisco / juniper) допускает текстовую версию файла hosts, поместите его туда. Это позволит избежать необходимости размещать файл хоста на каждом клиенте.