Windowsコマンドプロンプト経由でDNSサフィックスを追加する


13

私の仕事では、2つの接続固有のDNSサフィックスがあります。lhs.localおよびcis.local。コンピューターを展開するときに必要な多くの一般的な管理タスクを処理するバッチファイルを作成しようとしていますが、これらのタスクを追加することもそれらのタスクの1つです。

これをプログラムで実行するコマンドはありますか?


1
なぜZeroconf TLDを使用していますか(ab?)
イグナシオバスケス-エイブラムス

始めないでください、笑 ティア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エントリがあります。


6
上記のregメソッドを使用してもうまくいきませんでした。そのため、値の名前を「NVドメイン」などではなく「SearchList」に設定する方法について説明しているKBリンクを読みました。SEARCHLISTが働い使用/ vが(ノートでは、それは、D / Aリストでそれらを持っているので、必ず、既存のドメインを壊します。
ネイサンキッド

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.