Недавно столкнулся с интересной задачей в проекте по ConfigMgr.
Необходимо было развернуть агентов ConfigMgr на большое кол-во рабочих станций с Windows XP, однако выяснилось, что служба "Сервер", которая отвечает за коммуникации по 135-139 и 445 портам отсутствует в системах. ПК было около 2000 тысяч. Необходимо было централизовано, без походов по ПК, установить и зарегистрировать службу.
ПРИМЕЧАНИЕ! Способ тестировался для русифицированной Windows XP SP3, для поздних операционных систем не проверял.
Пришлось пару дней крепко подумать, в итоге проблему решил с помощью утилиты NetSet из набора Support.CAB, который находится на дистрибутиве Windows XP | Server 2003 (если мне память не изменяет, ещё и в Windows 2000 применялось при OSD для конфигурирование сетевых интерфейсов с правильными параметрами).
Для того, чтобы использовать утилиту, необходимо сформировать файл ответов определённого формата.
ВНИМАНИЕ! При работе с файлом ответов надо помнить, что если компонент в нём не перечислен, но обнаружится в системе, NetSet произведёт его удаление.
Пример файла ответов
Струтура файла ответов достаточно проста:
[Имя компонента]
Имя компонента = СегменПараметров.компонента
[СегментПараметров.Компонента]
Параметр1 =
Параметр2 =
Далее был написан простенький *.cmd файл, который был распространён GPO (Computer Settings) на все необходимые ПК. Файлик состоял из двух строк:
Однако нас ждал ещё один подводный камень - все интерфейсы на целевых ПК назывались по разному, имена интерфейсов были нестандартизованны. При тестах выяснил одну забавную особенность: если служба ставится, то одновременно включается для всех интерфейсов.
В Windows XP существует единственный стандартизованный интерфейс с одинаковым названием - это LoopBack iface. Точное название можно посмотреть через netsh:
И если указать его в файле ответов, к примеру для русcифицированной Windows XP
Собственно, вот и весь рецепт.
Спасибо и буду рад вопросам или другому участию.
http://support.microsoft.com/kb/268781/en-us
Необходимо было развернуть агентов ConfigMgr на большое кол-во рабочих станций с Windows XP, однако выяснилось, что служба "Сервер", которая отвечает за коммуникации по 135-139 и 445 портам отсутствует в системах. ПК было около 2000 тысяч. Необходимо было централизовано, без походов по ПК, установить и зарегистрировать службу.
ПРИМЕЧАНИЕ! Способ тестировался для русифицированной Windows XP SP3, для поздних операционных систем не проверял.
Пришлось пару дней крепко подумать, в итоге проблему решил с помощью утилиты NetSet из набора Support.CAB, который находится на дистрибутиве Windows XP | Server 2003 (если мне память не изменяет, ещё и в Windows 2000 применялось при OSD для конфигурирование сетевых интерфейсов с правильными параметрами).
Для того, чтобы использовать утилиту, необходимо сформировать файл ответов определённого формата.
ВНИМАНИЕ! При работе с файлом ответов надо помнить, что если компонент в нём не перечислен, но обнаружится в системе, NetSet произведёт его удаление.
Пример файла ответов
[Networking]
[NetAdapters]
Adapter01=Params.Adapter01 //имя сетевого адаптера
Adapter01=Params.Adapter01 //имя сетевого адаптера
[Params.Adapter01]
InfID=* //адаптер может иметь любой GUID
InfID=* //адаптер может иметь любой GUID
[NetProtocols]
MS_TCPIP=Params.MS_TCPIP
MS_TCPIP=Params.MS_TCPIP
[Params.MS_TCPIP]
AdapterSections=params.TCPIP.Adapter01
DNS=yes
DNSSuffixSearchOrder= mycorp.com, <name>.com
EnableLMHosts=No
AdapterSections=params.TCPIP.Adapter01
DNS=yes
DNSSuffixSearchOrder= mycorp.com, <name>.com
EnableLMHosts=No
[params.TCPIP.Adapter01]
SpecificTo=adapter01
DNSDomain=mycorp.com
DHCP=Yes
SpecificTo=adapter01
DNSDomain=mycorp.com
DHCP=Yes
[NetServices]
MS_Server=params.MS_Server //собственно кусок, который нам нужен
MS_Server=params.MS_Server //собственно кусок, который нам нужен
[Params.MS_Server]
optimization=balance
optimization=balance
Enable="MS_Server"
[NetClients]
MS_MSClient=Params.MS_MSClient
MS_MSClient=Params.MS_MSClient
[Params.MS_MSClient]
Струтура файла ответов достаточно проста:
[Имя компонента]
Имя компонента = СегменПараметров.компонента
[СегментПараметров.Компонента]
Параметр1 =
Параметр2 =
Далее был написан простенький *.cmd файл, который был распространён GPO (Computer Settings) на все необходимые ПК. Файлик состоял из двух строк:
- копирование необходимых файлов
- Запуска команды NetSet с файлом ответов.
start "NetSet" /D C:\ Netset "c:\AnswerFile.txt"
Однако нас ждал ещё один подводный камень - все интерфейсы на целевых ПК назывались по разному, имена интерфейсов были нестандартизованны. При тестах выяснил одну забавную особенность: если служба ставится, то одновременно включается для всех интерфейсов.
В Windows XP существует единственный стандартизованный интерфейс с одинаковым названием - это LoopBack iface. Точное название можно посмотреть через netsh:
netsh > interface > ipv4 > show interface
И если указать его в файле ответов, к примеру для русcифицированной Windows XP
Внутренний=Params.Внутренний
Мы получаем искомое. Собственно, вот и весь рецепт.
Спасибо и буду рад вопросам или другому участию.
http://support.microsoft.com/kb/268781/en-us
Комментариев нет:
Отправить комментарий
Уважаемый коллега, Ваш комментарий пройдёт модерацию, чтобы избежать спам-атак в ленте. Спасибо за понимание.