Fügen Sie DNS-Suffixe über die Windows-Eingabeaufforderung hinzu

13

Bei meiner Arbeit haben wir zwei verbindungsspezifische DNS-Suffixe. lhs.local und cis.local. Ich versuche, eine Batch-Datei zu schreiben, die viele der allgemeinen Verwaltungsaufgaben erledigt, die beim Bereitstellen eines Computers ausgeführt werden müssen. Das Anhängen dieser Aufgaben ist eine dieser Aufgaben.

Gibt es einen Befehl, dies programmgesteuert zu tun?

Chris Sobolewski
quelle
1
Warum verwenden Sie (ab?) Zeroconf-TLDs?
Ignacio Vazquez-Abrams
Bitte bring mich nicht zum Laufen, lol. Warum bin ich derjenige, der Pionier unserer Imaging-Initiative ist, wenn ich nur Tier-2-Support bin?
Chris Sobolewski

Antworten:

8

Über diesen Beitrag

Um einer TCP / IP-Verbindung remote ein DNS-Suffix hinzuzufügen, benötigen Sie lediglich eine Liste der IP-Adressen und den folgenden Befehl:

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

wo C:\iplist.txteine Liste von IP - Adressen enthält, Linie getrennt.

Eine andere Möglichkeit ist das Hinzufügen über die Registrierung

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

Es gibt auch einen Microsoft-KB-Eintrag dafür.

Sathyajith Bhat
quelle
6
Die obige Reg-Methode hat bei mir nicht funktioniert. Also habe ich den KB-Link gelesen, der über das Setzen des Wertnamens auf "SearchList" spricht, nicht zB "NV Domain". Die Verwendung von / v SearchList hat funktioniert (beachten Sie, dass alle vorhandenen Domains überlastet werden, stellen Sie also sicher, dass sie in der / d-Liste enthalten sind.
Nathan Kidd
2

Basierend auf Sathyas Antwort und anderen Quellen schrieb ich Folgendes:

@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
Benoit Duffez
quelle