Automatizando atualizações para grupos locais em servidores membros

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
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
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=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				

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.TXTfor /F "skip=6 tokens=4" %%a in (PING.TXT) do call sub3.bat %%a %1del 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 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				
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.txtfor /F "tokens=1" %%a in (working.txt) do call sub5.bat %%a %%1del working.txtif 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.txtrem %2 is name from online.txtif (%1) == (%2) echo %1 >> complete.txtif 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 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				

Propriedades

ID do Artigo: 180546 - Última Revisão: 02/22/2014 12:22:01 - Revisão: 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 KbMtpt
Comentários