被人問到怎麼批量把主機加入到域,平時也沒有太在乎這方面的問題,這一問當時還真把我給問倒了,不知道怎麼回答,(只知道用netdom這個命令來加域)回來認真的研究了一下,用腳本的好處就是能夠省去不少工做時間,通過我認真的研究,這個批處理出來了,本人親自實踐,沒有問題.windows
下面是Netdom工具的加域命令的介紹服務器
一、netdom網絡
系統支持工具,windows server 2003 使用前需先行安裝(光碟:\SUPPORT\TOOLS\SUPTOOLS.MSI)windows server 2008則系統自帶安裝好了.dom
2 添加計算機到域執行命令的方法ide
在域控制器上執行如下命令:工具
netdom join 192.168.1.1 /domain: allan.cn /userd domainadmin /passwordd adminpasswd /usero:administrator /passwordo:localadminpasswd /rebootserver
其中:blog
192.168.1.1 爲要添加主機的地址ip
allan.cn爲域名get
userd爲域控制器管理員用戶名
passwordd爲域控制器管理員密碼
usero爲本地主機管理員用戶名
passwordo爲本地主機管理員密碼
/reboot 最後爲重啓,加入域的客戶端會自動重啓
下面是批量加域的腳本內容:
(如要使用,把下面這些代碼複製保存到.bat文件,記住要在安裝好netdom的服務器上雙擊運行)
----------------------------------------------------------------------------------------------------
::輸入IP網段時,只須要輸入1或2(是幾網段就輸入幾),輸入IP數量就是你PC機總共數。
@echo off
title 主機加域P處理-By Allan
set /p nsegment=請輸入局域網IP網段:
set /p ipquantity=請輸入局域網IP數量:
set /p dname=請輸入你要加的域名:
set /p daccount=請輸入域管理員賬戶:
set /p dpasswd=請輸入域管理員密碼:
set /p laccount=請輸入客戶端管理員用戶:
set /p lpasswd=請輸入客戶端管理員密碼:
::FOR語言遞增循環,調用netdom命令,調用上面的變量值。
for /l %%a in (1,1,%ipquantity%) do (
netdom join 192.168.%nsegment%.%%a /domain: %dname% /userd: %daccount% /passwordd:%dpasswd% /usero:%lcaccount% /passwordo:%lpasswd% /reboot
)
echo %ipquantity%臺加域成功!
@echo on
----------------------------------------------------------------------------------------------------
%?%裏的值都是變量,變量是來調用SET賦予的值,怎麼理解這句for /l %%a in (1,1,%ipquantity%),這是For循環命令的一種,就是以1爲起點,步長爲1,終點爲%ipquantity%(輸入局域網IP數量)這個參數是直接從上面輸入數值來調用的,這個東西要活學活用,若是網絡保留了一段如192.168.1.1-192.168.10爲服務器用,這段已手動把服務器加入了域的,那個這麼循環語句裏面的參數要變(11,1,%ipquantity%),就是以11爲起點,步長爲1(每循環一次就加1)終點爲你上面輸入輸入局域網IP數量的值,%%a是一個for命令自帶的變量,能夠記錄循環的次數,在這裏%%a的值最初是1(就是起點)然後每循環一次,%%a的值就會加1(加上一個步長)當%%a爲100(假如你輸入局域網IP數量的值爲100,這個就是終點)循環就結束了
若是把批處理@echo off 去掉則能夠把每執行一步的命令回顯出來,這樣更能清楚詳細知道它的狀態,不回顯的話要簡潔不少,但若是有臺主機加域不成功,它只會告訴你未能成功完成命令,你不知道具體是那個IP未加入成功,這個要看我的喜愛來選擇,我抓圖對比一下
回顯咱們能夠很清楚看到是那個IP沒有加域成功
加域成功能夠看到客戶端的反應情況,系統會自動重啓.
最後注意一點:域裏面必定要搭建好DNS服務,由於加域的時候須要域名解析,這是必須的,通常咱們的作法是再搭一個DHCP服務,這樣客戶端接上網絡就自動會獲取IP地址,包括網關和DNS服務器.