網域使用者加入本機管理員群組
一、第一種方法,純用Script解決(適用Windows XP Client端)
On Error Resume Next Const ForReading=1'Read Const ForWriting=2'Write Const ForAppending=8'Append Dim arrClients() i=0 Set objFSO=CreateObject("Scripting.FileSystemObject") Set objReadFile=objFSO.OpenTextFile("C:\\Computers.txt",ForReading) Do until objReadFile.AtEndOfStream strLine=objReadFile.ReadLine strComputer=Trim(strLine) If strComputer<>"" Then ReDim Preserve arrClients(i) arrClients(i)= strComputer i=i+1 End If Loop objReadFile.Close For Each objClient In arrClients strComputer = objClient Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators") Set objUser = GetObject("WinNT://MT.com.tw/user1") objGroup.Add(objUser.ADsPath) Next
Script會去讀取 C:\\Computers.txt 這個檔案所列出的電腦,把user1這個網域使用者帳號,一一加到Client端電腦的本機Administrators群組。
C:\\Computers.tx 是一個單純文字檔,一行一台電腦名稱。FQDN、NETBIOS N或IP都可,只要確定找的到電腦就行了。
MT-Client-A1
MT-Client-A2
……………………………
執行此程式,必須在操作端機台以網域管理員身分登入執行,才能在透過遠端在每台Client端做這件事。
反之,有加入就有移除機制
Const ForReading=1'Read
Const ForWriting=2'Write
Const ForAppending=8'Append
Dim arrClients()
i=0
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objReadFile=objFSO.OpenTextFile("C:\\Computers.txt",ForReading)
Do until objReadFile.AtEndOfStream
strLine=objReadFile.ReadLine
strComputer=Trim(strLine)
If strComputer<>"" Then
ReDim Preserve arrClients(i)
arrClients(i)= strComputer
i=i+1
End If
Loop
objReadFile.Close
For Each objClient In arrClients
strComputer = objClient
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators")
For Each objUser In objGroup.Members
If InStr(objUser.name, "user1") Then
objGroup.Remove(objUser.AdsPath)
End If
Next
Next
二、Script只負責加人,哪幾台要加由群組原則控制
加入Script
strComputer = "."
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators")
Set objUser = GetObject("WinNT://MT.com.tw/user1")
objGroup.Add(objUser.ADsPath)
移除Script
On Error Resume Next strComputer = "." Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators") For Each objUser In objGroup.Members If InStr(objUser.name, "user1") Then objGroup.Remove(objUser.AdsPath) End If Next
使用群組原則管理編輯,建立兩個新的群組原則,一個負責加入,一個負責移除。
“user1委派管理加入”群組原則,設定登入執行Script
加入啟動時要執行的Script
要先用”顯示檔案”,把Script存放路徑叫出來
把Script檔案拷貝進去
新增加入
“user1委派管理移除”群組原則,設定同加入,不同的是設定在”關機”的地方。故省略。
把群組原則套用到組織單位電腦就OK了。
三、不論何種方式,Client端的防火牆最好停用,以確保結果正確性。個人目前做法偏好第一種方式,同時透過群組原則,將網域中所有電腦防火牆都停用。