12

На моей работе у нас есть два суффикса DNS для конкретных соединений. lhs.local и cis.local. Я пытаюсь написать командный файл, который позаботится о многих общих административных задачах, которые необходимо выполнить при развертывании компьютера, и добавление этих файлов является одной из таких задач.

Есть ли команда сделать это программно?

2 ответа2

8

Через этот пост

Чтобы удаленно добавить суффикс DNS к соединению TCP/IP, все, что вам нужно, это список IP-адресов и следующая команда:

wmic /USER:administrator /PASSWORD:adminpassword /node:@c:\iplist.txt nicconfig call SetDNSSuffixSearchOrder (mydomain.com)

где C:\iplist.txt содержит список IP-адресов, разделенных строкой.

Другой способ добавить через реестр

reg add HKLM\System\currentcontrolset\services\tcpip\parameters /v “NV Domain” /d “mydomain.com” /f

Там же есть запись в Microsoft KB для того же.

2

Основываясь на ответе Сатья и других ресурсах, я написал это:

@echo off
SETLOCAL EnableDelayedExpansion

:: Input here the additional suffix
set suffix=your.own.suffix

:: Get existing DNS suffixes
FOR /F "usebackq tokens=1,2* delims= " %%A in (`reg QUERY HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /V SearchList ^| findstr REG_SZ`) do ( 
    set OLD_DNS=%%C
)

:: Check if it starts with our suffix
set OK=NO
FOR /F "tokens=1,2* delims=," %%A in ("%OLD_DNS%") do (
    if "%%A" == "%suffix%" set OK=YES
)

:: Add our suffix first if it's not there
if "%OK%" == "NO" (
    echo Conf KO: %OLD_DNS%
    reg add HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /V SearchList /D "%suffix%,%OLD_DNS%" /F
) else (
    echo Conf OK: %OLD_DNS%
)

ipconfig /flushdns

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .