Nối các hậu tố dns thông qua dấu nhắc lệnh của windows


13

Tại công việc của tôi, chúng tôi có hai hậu tố DNS cụ thể kết nối. lhs.local và cis.local. Tôi đang cố gắng viết một tệp bó sẽ xử lý rất nhiều tác vụ quản trị phổ biến cần thực hiện khi chúng tôi triển khai máy tính và thêm chúng là một trong những nhiệm vụ đó.

Có một lệnh để làm điều này lập trình?


1
Tại sao bạn (ab?) Sử dụng TLD Zeroconf?
Ignacio Vazquez-Abrams

Làm ơn đừng bắt tôi, lol. Tại sao tôi là người tiên phong trong sáng kiến ​​hình ảnh của chúng tôi khi tôi chỉ hỗ trợ cấp 2?
Chris Sobolewski

Câu trả lời:


8

Qua bài viết này

Để thêm hậu tố DNS vào kết nối TCP / IP từ xa, tất cả những gì bạn cần là một danh sách các địa chỉ IP và lệnh sau:

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

nơi C:\iplist.txtchứa danh sách các địa chỉ IP, dòng được phân tách.

Một cách khác là thêm thông qua sổ đăng ký

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

Cũng có một mục Microsoft KB cho cùng.


6
Sử dụng phương pháp reg ở trên không hiệu quả với tôi. Vì vậy, tôi đọc liên kết KB nói về việc đặt tên giá trị thành "SearchList" chứ không phải, ví dụ "Miền NV". Sử dụng / v SearchList đã hoạt động (lưu ý rằng nó sẽ ghi đè bất kỳ tên miền hiện có nào, vì vậy hãy chắc chắn có chúng trong danh sách / d.
Nathan Kidd

2

Dựa trên câu trả lời của Sathya và các tài nguyên khác, tôi đã viết điều này:

@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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.