Automatizar actualizações para grupos locais em servidores membro

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

180546
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Sumário
Ficheiros de comandos podem ser utilizados para adicionar remotamente contas de utilizador a grupos locais em todos os computadores com o Windows NT ou Windows 2000 num ambiente de domínio.
Mais Informação
Este artigo demonstra como criar um sistema de ficheiros batch que irá adicionar um utilizador para todos os grupos de administradores local se encontra cada computador com o Windows NT ou Windows 2000 num ambiente de domínio.

O sistema de ficheiros batch utiliza o Netdom.exe a partir do Windows NT 4.0 Resource Kit para criar uma lista de computadores com o Windows NT que estão a funcionar como servidores membro ou estações de trabalho num domínio. Depois de criada a lista, cada computador a partir da lista é tiverem ping para determinar se o computador está actualmente online. Se o computador estiver online, será chamado Addusers.exe para colocar um novo utilizador no grupo de administradores local do computador. Se um computador tiver sido online, o nome será colocado num ficheiro temporário. Depois de terem sido processados todos os computadores, o ficheiro temporário será comparada com a lista de computadores do domínio, para criar uma nova lista de computadores que ainda não tenham sido actualizados. Este sistema de ficheiros batch pode ser executado várias vezes para o destino apenas os computadores que ainda necessitam de ser processadas. Copie NETDOM.EXE ADDUSERS.EXE e REG.EXE a partir do Windows NT 4.0 Resource Kit para a pasta onde estão os scripts.

Para criar estes ficheiros de comandos, execute os seguintes passos:

  1. Crie os seguintes ficheiros batch 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 reflectir o nome de domínio onde estão localizados os computadores de destino.
  3. Altere o <domain\user> na segunda linha no Addusers.dat para reflectir o nome do utilizador que pretende adicionar ao grupo de administradores local de cada computador. Certifique-se existe uma linha em branco na parte superior do ficheiro Addusers.dat.
  4. Inicie sessão na rede com credenciais de administrador de domínio para o domínio que pretende modificar. Certifique-se o Windows NT 4.0 Resource Kit foi instalado e está acessível através do caminho do sistema. Este sistema utiliza Netdom.exe e Addusers.exe do resource kit.
  5. Execute o INSUSER.BAT. Este ficheiro batch pode demorar várias horas para concluir.
  6. Examine o conteúdo de Complete.txt e Working.txt. Complete.txt ficheiro contém os nomes dos computadores que tenham sido actualizados, o ficheiro Working.txt contém os nomes dos computadores que ainda necessita de processamento.
Repita os passos 5 e 6 conforme necessário.

Se necessitar de recomeçar todo o processo do zero, elimine todos os ficheiros .txt e começar no passo 1.

Nome do ficheiro: 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 ficheiro: SUB1.BAT
rem *** Remove formatting from Netdom output ***echo %1 >> temp.txt				

Nome do ficheiro: 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 ficheiro: 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 ficheiro: 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 ficheiro: 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 ficheiro: ADDUSERS.DAT
[Local]Administrators,Members can fully administer the computer,<domain\user>,				

Além disso, pode configurar estes ficheiros batch para executar o comando único em estações de trabalho ou servidores, consulte especificar servidores ou estações de trabalho.

Especificar servidores ou estações de trabalho

Substituindo o SUB3.BAT com o seguinte ficheiro batch, REG.EXE do reskit é utilizado para verificar o tipo de produto no registo (servidor, estação de trabalho ou controlador de domínio). Alterando o comando goto no: servidor e: secções de estação de trabalho, pode controlar se o comando é executado contra o servidor ou estações de trabalho da seguinte forma:

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

Actualmente, apenas estação de trabalho está seleccionada. O conteúdo do complete.txt pode ser ignorado quando utilizar este modificado sub3.bat. Verificar LOCAL.LOG para determinar os computadores tenham sido actualizados. Eis uma descrição dos ficheiros de registo que podem ser geradas.

LOCAL.LOG - em computadores que tenham sido actualizados.

WKS.TXT - em computadores que foram identificadas como estações de trabalho.

SERVER.TXT - Máquinas identificadas como SERVERS.

UNDETERMINED.TXT - em computadores que são identificados no Gestor de servidor como um servidor ou estação de trabalho mas não tem o tipo de produto definido no registo. O registo não foi possível ler ou remotamente.

DC.TXT - em computadores que são identificados no Gestor de servidor como um servidor ou estação de trabalho mas o produto tipo definido no registo indica é um controlador de domínio. Estes sistema não será processado.

TRABALHO - contém uma lista de computadores que estão listados no Gestor de servidor, mas que respondeu ao PING. Esta lista é utilizada quando executar ficheiros batch segunda ou terceira vez.

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

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 180546 - Última Revisão: 02/22/2014 06:57:50 - 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
Esta informação foi útil?