Automatizando atualizações para grupos locais em servidores membros

Traduções deste artigo Traduções deste artigo
ID do artigo: 180546 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Arquivos em lotes podem ser usados para adicionar contas de usuário remotamente a grupos locais em todos os computadores executando Windows NT ou Windows 2000 em um ambiente de domínio.

Mais Informações

Este artigo demonstra como criar um sistema de arquivos em lotes que irá adicionar um usuário a todos os grupos de administradores locais localizado em cada computador executando Windows NT ou Windows 2000 em um ambiente de domínio.

O sistema de arquivo em lotes usa Netdom.exe a partir do Windows NT 4.0 Resource Kit para criar uma lista de computadores que executam o Windows NT que operam como servidores membros ou estações de trabalho em um domínio. Depois que a lista for criada, cada computador da lista é feito o ping para determinar se o computador está on-line no momento. Se o computador estiver online, Addusers.exe será chamado para colocar um novo usuário no grupo de administradores locais do computador. Se um computador era on-line, seu nome será colocado em um arquivo temporário. Após todos os computadores terem sido processados, o arquivo temporário será comparada com a lista de computadores do domínio, para criar uma nova lista de computadores que ainda não foram atualizadas. Este sistema de arquivos em lotes pode ser executado várias vezes para destino somente os computadores que ainda precisam ser processadas. Copie NETDOM.EXE, ADDUSERS.EXE e REG.EXE do Windows NT 4.0 Resource Kit para a pasta onde estão os scripts.

Para criar esses arquivos em lote, execute as seguintes etapas:

  1. Crie os seguintes arquivos em lotes a partir da lista abaixo:
    INSUSER.BAT, SUB1.BAT, SUB2.BAT, SUB3.BAT, SUB4.BAT,
    SUB5.BAT e ADDUSERS.DAT.
  2. Edite a primeira linha de INSUSER.BAT para refletir o nome do domínio onde estão os computadores de destino.
  3. Altere o <domain\user> na segunda linha no Addusers.dat para refletir o nome do usuário que você deseja adicionar para grupo de administradores locais cada computador. Verifique se há uma linha em branco na parte superior do arquivo Addusers.dat.
  4. Faça logon na rede com credenciais de administrador de domínio para o domínio que você deseja modificar. Certifique-se o Windows NT 4.0 Resource Kit foi instalado e está acessível através do caminho de sistema. Este sistema usa Netdom.exe e Addusers.exe do resource kit.
  5. Execute o INSUSER.BAT. Esse arquivo em lotes pode levar várias horas para concluir.
  6. Examine o conteúdo de Complete.txt e Working.txt. Complete.txt arquivo contém os nomes dos computadores que foram atualizados, o arquivo Working.txt contém os nomes dos computadores que ainda precisam de processamento.
Repita as etapas 5 e 6 conforme necessário.

Se você precisar iniciar todo o processo através do zero, exclua todos os arquivos .txt e iniciar na etapa 1.

Nome do arquivo: 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
				

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

Nome do arquivo: 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
				

Nome do arquivo: 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
				
nome do arquivo: 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
				

Nome do arquivo: 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
				

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

Além disso, você pode configurar esses arquivos em lotes para executar o comando único em estações de trabalho ou servidores, consulte especificando servidores ou estações de trabalho.

Especificando servidores ou estações de trabalho

Substituindo o SUB3.BAT com o seguinte arquivo em lotes, REG.EXE do reskit é usado para verificar o tipo de produto no registro (servidor, estação de trabalho ou controlador de domínio). Alterando o comando goto na: servidor e: seções de estação de trabalho, você pode controlar se o comando é executado no servidor ou estações de trabalho da seguinte maneira:

GOTO Sub3bot - este tipo de produto será ignorado. GOTO Adduser - comandos em: addusers seção será processada contra esse tipo de produto.

Atualmente, apenas estação de trabalho é selecionada. O conteúdo de complete.txt pode ser ignorado quando usando esse modificado sub3.bat. Verificar LOCAL.LOG para determinar quais computadores foram atualizados. Eis aqui uma descrição dos arquivos de log podem ser gerados.

LOCAL.LOG - máquinas que tenham sido atualizados.

WKS.TXT - máquinas foram identificados como estações de trabalho.

SERVER.TXT - Máquinas identificadas como servidores.

UNDETERMINED.TXT - máquinas que são identificados no Gerenciador do servidor como um servidor ou estação de trabalho, mas não tem o tipo de produto definido no registro. Ou o registro não pôde ser lido remotamente.

DC.TXT - Machines são identificadas no Gerenciador do servidor como um servidor ou estação de trabalho, mas o produto tipo definido no Registro indica este é um controlador de domínio. Esses sistema não será processado.

TRABALHO - contém uma lista de máquinas que são listados no Gerenciador do servidor mas respondeu ao PING. Esta lista é usada quando executar os arquivos em lotes uma vez segunda ou terceira.

Nome do arquivo 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
				

Propriedades

ID do artigo: 180546 - Última revisão: sábado, 22 de fevereiro de 2014 - Revisão: 2.2
A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbnosurvey kbarchive kbmt kbinfo KB180546 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 180546

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