로컬 그룹에 구성원 서버에서 업데이트 자동화

기술 자료 번역 기술 자료 번역
기술 자료: 180546 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

이 페이지에서

요약

배치 파일은 원격으로 Windows NT 또는 Windows 2000 도메인 환경에서 실행하는 모든 컴퓨터에서 로컬 그룹에 사용자 계정을 추가할 수 있습니다.

추가 정보

이 문서에서는 Windows NT 또는 Windows 2000 도메인 환경 내에서 실행하는 모든 컴퓨터에 있는 모든 로컬 관리자 그룹에 사용자 추가 예정 배치 파일 시스템을 만드는 방법을 보여 줍니다.

배치 파일 시스템 Netdom.exe를 Windows NT 4.0 Resource Kit의 구성원 서버 또는 도메인에 워크스테이션을 운영 Windows NT를 실행하는 컴퓨터의 목록을 만드는 예제입니다. 목록을 만든 후에는 각 컴퓨터 목록에서 컴퓨터를 현재 온라인 상태인지 확인하는 ping을 것입니다. 컴퓨터가 온라인 상태인 경우 컴퓨터의 로컬 관리자 그룹에 새로운 사용자를 배치하려면 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. 각 컴퓨터의 로컬 관리자 그룹에 추가할 사용자 이름을 반영하도록 Addusers.dat 있는 두 번째 줄에 <domain\user> 변경하십시오. 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부터 시작하십시오.

Filename: 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
				

Filename: SUB1.BAT
rem *** Remove formatting from Netdom output ***
echo %1 >> temp.txt
				

Filename: 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
				

Filename: 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
				

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

또한 워크스테이션에서 단일 명령을 실행하려면 이 배치 파일을 구성하거나 지정 서버 또는 워크스테이션, 서버를 참조하십시오.

서버 또는 워크스테이션 지정

다음 배치 파일을 사용하여 SUB3.BAT 바꾸어 REG.EXE 있는 reskit에서 (서버, 워크스테이션 또는 도메인 컨트롤러) 레지스트리에서 제품 유형을 확인하는 데 사용됩니다. 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 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. 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