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

文章翻譯 文章翻譯
文章編號: 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=mydomain
echo off
cls
if (%CurrentDomain%) == (mydomain) echo Edit the first line of
INSUSER.BAT.
if (%CurrentDomain%) == (mydomain) echo then rerun INSUSER.BAT
if (%CurrentDomain%) == (mydomain) goto verybottom
if not exist addusers.dat goto DisplayAddUsers
rem *** 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 SkipCreateList
echo Creating a list of member servers in %CurrentDomain%.
echo.
netdom /d:%CurrentDomain% member > working.txt
rem *** Remove NETDOM formatting from server names ***
if exist temp.txt del temp.txt
for /F "skip=6 delims=\ tokens=2" %%a in (working.txt) do call sub1.bat
%%a
del working.txt
ren temp.txt working.txt
:SkipCreateList
rem *** Determine if machine is online ***
if exist online.txt del online.txt
for /F "delims=\\ tokens=1" %%a in (working.txt) do call sub2.bat %%a
rem *** Remove servers that have been processed from WORKING.TXT ***
if not exist online.txt goto NoServersOnline
echo.
echo Updating list of servers that need to be processed.
for /F "delims=  tokens=1" %%a in (online.txt) do call sub4.bat %%a
echo List complete.
goto Bottom
:DisplayAddUsers
Echo.
Echo. You must modify the contents of ADDUSERS.DA, then rename the
Echo. file to ADDUSERS.DAT.  Then re-run this batch file.
goto verybottom
:NoServersOnline
Echo.
Echo There are no servers currently online that can be processed.
:Bottom
echo.
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.TXT
for /F "skip=6 tokens=4" %%a in (PING.TXT) do call sub3.bat %%a %1
del 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 NotOnline
echo %3 >> ONLINE.TXT
echo [%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 line
for /F "delims=	 tokens=3" %%i IN ('reg query hklm\system\currentcontrolset\control\ProductOptions\ProductType \\%3') DO set product_type=%%i
REM End single line

if "%product_type%"=="" goto Undetermined
if "%product_type%"=="WinNT" goto Workstation
if "%product_type%"=="ServerNT" goto Server
if "%product_type%"=="LanmanNT" goto DomainController

:Undetermined
echo Unable to determine Windows NT Product Type, check the following
echo registry key for product type
echo.
echo hklm\system\currentcontrolset\control\ProductOptions\ProductType
echo.
echo Expected values
echo.
echo ProductType   Product
echo ----------------------------------------------------
echo WinNT         Windows NT Workstation is running
echo ServerNT      Windows NT Server is running
echo LanmanNT      Windows NT Domain controller
echo.
echo %3 >>undetermined.txt
goto Sub3bot

:DomainController
echo %3 >>dc.txt
goto sub3bot

:Server
echo %3 is a Server, skipping...
echo %3 >>server.txt
goto adduser

:Workstation
echo %3 is a Workstation, processing %3
echo %3 >> wks.txt
goto adduser

:adduser
ECHO Adding new user to local administrators group on %3.
ECHO *** \\%3 *** >> local.log
rem Add a user to each member servers local administrators group
ADDUSERS \\%3 /C addusers.dat > nul
rem *****************************************************
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.txt
for /F "tokens=1" %%a in (working.txt) do call sub5.bat %%a %%1
del working.txt
if exist temp.txt ren temp.txt working.txt
				

檔案名稱: SUB5.BAT
rem *** Filter out servers that have been updated ***
rem %1 is name from working.txt
rem %2 is name from online.txt
if (%1) == (%2) echo %1 >> complete.txt
if 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 NotOnline
echo %3 >> ONLINE.TXT
echo [%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 line
for /F "tokens=3" %%i IN ('reg query
hklm\system\currentcontrolset\control\ProductOptions\ProductType \\%3') DO
set product_type=%%i
REM End single line

if "%product_type%"=="" goto Undetermined
if "%product_type%"=="WinNT" goto Workstation
if "%product_type%"=="ServerNT" goto Server
if "%product_type%"=="LanmanNT" goto DomainController

:Undetermined
echo Unable to determine Windows NT Product Type, check the following
echo registry key for product type
echo.
echo hklm\system\currentcontrolset\control\ProductOptions\ProductType
echo.
echo Expected values
echo.
echo ProductType   Product
echo ----------------------------------------------------
echo WinNT         Windows NT Workstation is running
echo ServerNT      Windows NT Server is running
echo LanmanNT      Windows NT Domain controller
echo.
echo %3 >>undetermined.txt
goto Sub3bot

:DomainController
echo %3 >>dc.txt
goto sub3bot
				

屬性

文章編號: 180546 - 上次校閱: 2014年2月22日 - 版次: 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
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:180546
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com