• Некоторые компульсии по поводу околокомпьютерных обсессий.

    Saturday, April 9, 2011

    Быстрая смена сетевых настроек.

    Бывают случаи, когда периодически необходимо менять сетевые настройки: пришел с ноутбуком в офис - там одна сеть, в филиале другая, дома вообще третья. Хорошо, если везде есть DHCP сервер в сетях - там интерфейсу автоматически назначится IP адрес, шлюз, DNS и компьютер в сети. Но если в сети назначаются статические адреса, тогда надо перестраивать.
    Кроме этого пользователи своими шаловливыми ручками могут залезть "куда-то" и "компьютер не видит сети". Можно конечно лично прибыть к юзеру и настроить сеть, но лучше это дело автоматизировать.
    В Windows XP утилита netsh позволит это сделать. В окне cmd.exe введем
    netsh interface dump > "%USERPROFILE\net.dat"
    В получившемся текстовом файле  (обычно C:\Documents and Settings\ваше_имя_пользователя\)net.dat будет информация типа:


    #========================
    # Конфигурация интерфейса
    #========================
    pushd interface

    reset all


    popd
    # Конец конфигурации интерфейса

    ......

    # -----------------------------------------
    # Настройка IP-интерфейсов                 
    # -----------------------------------------
    pushd interface ip

    # Интерфейс настройки IP для "Подключение по локальной сети"

    set address name="Подключение по локальной сети" source=static addr=192.168.0.71 mask=255.255.255.0
    set address name="Подключение по локальной сети" gateway=192.168.0.1 gwmetric=0
    set dns name="Подключение по локальной сети" source=static addr=192.168.0.1 register=PRIMARY
    add dns name="Подключение по локальной сети" addr=8.8.8.8 index=2
    set wins name="Подключение по локальной сети" source=static addr=none


    popd
    # Конец настройки интерфейса IP


    Как видно, в разделе "Настройка IP-интерфейсов" все видно, адрес, шлюз, DNS. 
    Можно попробовать зайти и в качестве эксперимента поменять настройки интерфейса на другие. Не забудем закрыть окно сетевых настроек.
    Выполним команду 
    netsh exec "%USERPROFILE%\net.dat"
    Пару секунд раздумий и сетевые настройки восстановлены!

    Для быстрого запуска этого скрипта создадим батник. В notepad создадим новый файл и введем туда следующее:


    netsh exec "%USERPROFILE%\net.dat"

    Сохраним файл под удобным для вас именем, например "homesettings.cmd". Файлик net.dat можно скопировать под именем, например, "filialnet.dat" и вручную отредактировать адреса:
    # -----------------------------------------
    # Настройка IP-интерфейсов                 
    # -----------------------------------------
    pushd interface ip

    # Интерфейс настройки IP для "Подключение по локальной сети"

    set address name="Подключение по локальной сети" source=static addr=192.168.1.133 mask=255.255.255.0
    set address name="Подключение по локальной сети" gateway=192.168.1.1 gwmetric=0
    set dns name="Подключение по локальной сети" source=static addr=192.168.1.1 register=PRIMARY
    add dns name="Подключение по локальной сети" addr=195.5.6.10 index=2
    set wins name="Подключение по локальной сети" source=static addr=none


    popd
    # Конец настройки интерфейса IP



    Также скопируем скрипт homesettings.cmd в filialsettings.cmd. В последнем файле внесем изменения: вместо

    netsh exec "%USERPROFILE%\net.dat"
    впишем

     netsh exec "%USERPROFILE%\filialnet.dat"
    Теперь прибыв в  филиал, просто запустим filialsettings.cmd и мы в сети.
    Если у вас в офисе много компьютеров и у пользователей "шаловливые ручки" то рекомендую такие скрипты с сетевыми настройками их рабочих станций создать на каждом компьютере и вывести в легкодоступное место ярлыки для запуска этих скриптов. Для них это обычно "Рабочий стол" или "Главное меню". Тогда большинство проблем типа "я меня нет сетевого окружения" решаются в две-три фразы по телефону: 
    "не отображается ли красный крестик на двух мониторчиках около часиков в правом нижнем углу экрана" (они в большинстве случаев не могут запомнить слово "трэй") и если нет, то 
    "запусти ярлычок восстановитьсеть".


    Post a Comment