Windows komut istemi aracılığıyla dns sonekleri ekleme


13

İşimde, bağlantıya özgü iki DNS son ekimiz var. lhs.local ve cis.local. Biz bir bilgisayar dağıtmak zaman yapılması gereken ortak yönetim görevleri bir sürü ilgilenecek bir toplu iş dosyası yazmaya çalışıyorum ve bu ekleme bu görevlerden biridir.

Bunu programlı olarak yapmak için bir komut var mı?


1
Zeroconf TLD'leri neden kullanıyorsunuz?
Ignacio Vazquez-Abrams

Lütfen beni başlatma, lol. Neden sadece 2. kademe destek verdiğimde görüntüleme girişimimize öncülük eden kişi benim?
Chris Sobolewski

Yanıtlar:


8

Via bu yazı

Uzaktan TCP / IP bağlantısına bir DNS soneki eklemek için tek ihtiyacınız olan bir IP adresi listesi ve aşağıdaki komuttur:

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

burada C:\iplist.txtsatır ayrılmış IP adreslerinin bir listesini içerir.

Başka bir yol kayıt defteri yoluyla eklemektir

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

Aynı şey için bir Microsoft KB girişi de var.


6
Yukarıdaki reg yöntemini kullanmak benim için işe yaramadı. Bu yüzden, değer adını "SearchList" olarak değil, örneğin "NV Domain" olarak ayarlama hakkında konuşan KB bağlantısını okudum. / V SearchList kullanarak çalıştı (mevcut alan adlarını gizleyeceğini unutmayın, bu yüzden onları / d listesinde bulunduğunuzdan emin olun.
Nathan Kidd

2

Sathya'nın yanıtı ve diğer kaynaklardan yola çıkarak şunu yazdım:

@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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.