自動化更新到成員伺服器上的本機群組

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:180546
本文已封存。本文係以「現狀」提供且不會再更新。
結論
批次檔來從遠端將使用者帳戶新增到所有在網域環境中執行 Windows NT 或 Windows 2000 的電腦上的本機群組。
其他相關資訊
本文將告訴您,如何建立批次檔案系統,將會加入至所有的本機系統管理員群組的使用者處執行 Windows NT 或 Windows 2000 網域環境中的每一部電腦上。

批次檔案系統會使用 Netdom.exe 從 Windows NT 4.0 資源工具箱 」 建立的電腦執行 Windows NT 作業系統為成員伺服器或工作站在網域中的清單。該清單建立之後從清單的每台電腦被指以判斷電腦是否目前在線上。如果電腦是在線上,Addusers.exe 將會被呼叫將新使用者放入電腦的本機系統管理員群組中。如果電腦已線上,它的名稱將會置於暫時檔案。已處理所有的電腦之後會比較暫存檔案到電腦的清單從該網域建立新清單的還尚未更新的電腦。這個批次檔案系統可以執行多次到只有電腦,仍需要處理的目標。將 NETDOM.EXE、 ADDUSERS.EXE 和 REG.EXE 從 Windows NT 4.0 資源套件複製到指令檔的所在的資料夾。

若要建立這些批次檔案,執行下列步驟:

  1. 由下面的清單建立下列的批次檔:
    INSUSER.BAT,SUB1.BAT,SUB2.BAT,SUB3.BAT,SUB4.BAT,
    SUB5.BAT,並 ADDUSERS.DAT。
  2. 編輯 INSUSER.BAT 反映目標電腦的所在位置的網域名稱的第一行。
  3. 將第二行中 <domain\user> Addusers.dat 反映出您想要加入的使用者名稱中變更為每台電腦的本機系統管理員群組。請確定在 Addusers.dat 檔案頂端的一個空白行。
  4. 進入網路以您想要修改的網域的網域系統管理員認證登入。請確定 Windows NT 4.0 資源工具箱 」 已經安裝且可透過系統路徑存取。此系統會使用 Netdom.exe 和 Addusers.exe 從資源套件。
  5. 執行 [INSUSER.BAT。此批次檔可能需要許多小時才能完成。
  6. 檢查 Complete.txt 和 Working.txt 的內容。檔案包含已更新的電腦名稱 Complete.txt,Working.txt 檔案包含仍需要處理的電腦名稱。
視需要重複步驟 5 和 6。

如果需要從頭開始整個程序透過刪除所有的.txt 檔案,然後在步驟 1 開始。

檔案名稱: INSUSER.BAT
set CurrentDomain=mydomainecho offclsif (%CurrentDomain%) == (mydomain) echo Edit the first line ofINSUSER.BAT.if (%CurrentDomain%) == (mydomain) echo then rerun INSUSER.BATif (%CurrentDomain%) == (mydomain) goto verybottomif not exist addusers.dat goto DisplayAddUsersrem *** Display current variable settings ***echo Current domain is %CurrentDomain%.echo.rem *** Determine if working list is present ***If exist working.txt echo Working list detected, resuming batch process.If exist working.txt goto SkipCreateListecho Creating a list of member servers in %CurrentDomain%.echo.netdom /d:%CurrentDomain% member > working.txtrem *** Remove NETDOM formatting from server names ***if exist temp.txt del temp.txtfor /F "skip=6 delims=\ tokens=2" %%a in (working.txt) do call sub1.bat%%adel working.txtren temp.txt working.txt:SkipCreateListrem *** Determine if machine is online ***if exist online.txt del online.txtfor /F "delims=\\ tokens=1" %%a in (working.txt) do call sub2.bat %%arem *** Remove servers that have been processed from WORKING.TXT ***if not exist online.txt goto NoServersOnlineecho.echo Updating list of servers that need to be processed.for /F "delims=  tokens=1" %%a in (online.txt) do call sub4.bat %%aecho List complete.goto Bottom:DisplayAddUsersEcho.Echo. You must modify the contents of ADDUSERS.DA, then rename theEcho. file to ADDUSERS.DAT.  Then re-run this batch file.goto verybottom:NoServersOnlineEcho.Echo There are no servers currently online that can be processed.:Bottomecho.echo ------------------------------------echo --- Finished processing servers. ---echo ------------------------------------:verybottom				

檔案名稱: SUB1.BAT
rem *** Remove formatting from Netdom output ***echo %1 >> temp.txt				

檔案名稱: SUB2.BAT
echo Pinging %1...ping %1 > PING.TXTfor /F "skip=6 tokens=4" %%a in (PING.TXT) do call sub3.bat %%a %1del PING.TXT				

檔案名稱: SUB3.BAT
rem *** If server is online it will be logged in online.txt for ***rem *** processing later.                                       ***rem ***    %2 is a bogus variable, thrown away.if not (%1) == (bytes) goto NotOnlineecho %3 >> ONLINE.TXTecho [%3 is online.]rem ***********************************************rem *** Put per-server processing commands here ***rem ***********************************************rem *** The following section determines if *******rem *** Workstation or Server is running    *******rem ***********************************************REM Next Line wrapped by text editor for readability, it should all be on one linefor /F "delims=	 tokens=3" %%i IN ('reg query hklm\system\currentcontrolset\control\ProductOptions\ProductType \\%3') DO set product_type=%%iREM End single lineif "%product_type%"=="" goto Undeterminedif "%product_type%"=="WinNT" goto Workstationif "%product_type%"=="ServerNT" goto Serverif "%product_type%"=="LanmanNT" goto DomainController:Undeterminedecho Unable to determine Windows NT Product Type, check the followingecho registry key for product typeecho.echo hklm\system\currentcontrolset\control\ProductOptions\ProductTypeecho.echo Expected valuesecho.echo ProductType   Productecho ----------------------------------------------------echo WinNT         Windows NT Workstation is runningecho ServerNT      Windows NT Server is runningecho LanmanNT      Windows NT Domain controllerecho.echo %3 >>undetermined.txtgoto Sub3bot:DomainControllerecho %3 >>dc.txtgoto sub3bot:Serverecho %3 is a Server, skipping...echo %3 >>server.txtgoto adduser:Workstationecho %3 is a Workstation, processing %3echo %3 >> wks.txtgoto adduser:adduserECHO Adding new user to local administrators group on %3.ECHO *** \\%3 *** >> local.logrem Add a user to each member servers local administrators groupADDUSERS \\%3 /C addusers.dat > nulrem *****************************************************rem net send %3 "it worked"rem *** Put per-server processing commands above here ***rem *****************************************************goto Sub3Bot:NotOnline:Sub3Bot				
檔案名稱: SUB4.BAT
rem *** loop thru each name in working.txt and remove servers that were***rem *** in online.txt.***echo Removing %1 from list.if exist temp.txt del temp.txtfor /F "tokens=1" %%a in (working.txt) do call sub5.bat %%a %%1del working.txtif exist temp.txt ren temp.txt working.txt				

檔案名稱: SUB5.BAT
rem *** Filter out servers that have been updated ***rem %1 is name from working.txtrem %2 is name from online.txtif (%1) == (%2) echo %1 >> complete.txtif not (%1) == (%2) echo %1 >> temp.txt				

檔案名稱: ADDUSERS.DAT
[Local]Administrators,Members can fully administer the computer,<domain\user>,				

此外,您可以設定這些批次檔,以在工作站上執行單一命令,或伺服器只,請參閱指定伺服器或工作站。

指定伺服器或工作站

下列的批次檔以取代 [SUB3.BAT,從 reskit REG.EXE 用來檢查產品類型在登錄中 ([伺服器]、 [工作站] 或 [網域控制站])。 藉由變更 goto 指令中的: 伺服器和: 工作站區段可以控制如果命令針對執行伺服器或工作站,如下所示:

GOTO Sub3bot-將略過此產品型別。 GOTO Adduser-指令中: addusers 區段將會處理對此產品類型。

目前,只工作站已選取。 使用此修改 sub3.bat 時,您可以忽略 complete.txt 內容。 請檢查以判斷哪些電腦更新 LOCAL.LOG。 以下是可能會產生記錄檔的描述。

LOCAL.LOG-已更新的電腦。

WKS.TXT-識別為工作站的電腦。

SERVER.TXT-電腦識別為伺服器。

UNDETERMINED.TXT-電腦會在伺服器管理員中識別為伺服器或工作站,但並沒有定義在登錄中的產品型別。 或無法從遠端讀取登錄。

DC.TXT-已識別的電腦為伺服器或工作站,但該產品的伺服器管理員中定義在登錄中的型別會指出這是網域控制站。 將不會處理這些系統。

工作-包含一份列出伺服器管理員中但未回應 PING 的機器。 當第二個或第三個的時間執行批次檔時,會使用這份清單。

檔案名稱 SUB3.BAT
rem *** If server is online it will be logged in online.txt for ***rem *** processing later.                                       ***rem ***    %2 is a bogus variable, thrown away.if not (%1) == (bytes) goto NotOnlineecho %3 >> ONLINE.TXTecho [%3 is online.]rem ***********************************************rem *** Put per-server processing commands here ***rem ***********************************************rem *** The following section determines if *******rem *** Workstation or Server is running    *******rem ***********************************************REM Next Line wrapped by text editor for readability, it should all be onone linefor /F "tokens=3" %%i IN ('reg queryhklm\system\currentcontrolset\control\ProductOptions\ProductType \\%3') DOset product_type=%%iREM End single lineif "%product_type%"=="" goto Undeterminedif "%product_type%"=="WinNT" goto Workstationif "%product_type%"=="ServerNT" goto Serverif "%product_type%"=="LanmanNT" goto DomainController:Undeterminedecho Unable to determine Windows NT Product Type, check the followingecho registry key for product typeecho.echo hklm\system\currentcontrolset\control\ProductOptions\ProductTypeecho.echo Expected valuesecho.echo ProductType   Productecho ----------------------------------------------------echo WinNT         Windows NT Workstation is runningecho ServerNT      Windows NT Server is runningecho LanmanNT      Windows NT Domain controllerecho.echo %3 >>undetermined.txtgoto Sub3bot:DomainControllerecho %3 >>dc.txtgoto sub3bot				

警告:本文為自動翻譯

內容

文章識別碼:180546 - 最後檢閱時間:02/22/2014 15:08:40 - 修訂: 2.2

Microsoft Windows 2000 Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows NT Workstation 3.5, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 3.5, Microsoft Windows NT Server 3.51, Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Windows 2000 Advanced Server

  • kbnosurvey kbarchive kbmt kbinfo KB180546 KbMtzh
意見反應