Você está offline; aguardando reconexão

Automatizar a criação de contas de computador

Support for Windows XP has ended

Microsoft ended support for Windows XP on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

Support for Windows Server 2003 ended on July 14, 2015

Microsoft ended support for Windows Server 2003 on July 14, 2015. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

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: 315273
Sumário
Este artigo descreve como automatizar a criação de contas de computador. Dois métodos são descritos:
  • Netdom
  • A conta de computador usando a interface de serviço do Active Directory (ADSI) e Windows Script Host de script
Mais Informações

Criando contas de computador usando "NETDOM"

Observe que você deve usar somente a versão Windows XP netdom , que está incluído no CD do Windows XP no arquivo Support\Tools\Support.cab. Versões anteriores não funcionam corretamente para todos os recursos no Windows XP.

Você pode usar o netdom a partir da linha de comando (ou chamá-lo opcionalmente de um arquivo em lotes) para criação de conta de computador do script. Este exemplo cria a conta de computador e exibe como você pode especificar credenciais de um usuário autorizado que tenha permissões para criar contas de computador no domínio. Siga este exemplo da sintaxe para o comando netdom
netdom ingressar ComputerName NomeDoComputador/Domain: DomainName /userd: User /passwordd: UserPassword
onde o User é um usuário com permissão para ingressar no domínio.

Para obter mais informações sobre como usar o NETDOM, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
150493Como ingressar em um domínio a partir da linha de comando

A conta de computador usando a ADSI e o Windows Script Host de script

Usando o ADSI (Active Directory Services Interface) e WSH (Windows Script Host), um administrador pode criar um script do Visual Basic (VBScript) para automatizar a criação de contas de computador.

Para obter mais informações sobre o Visual Basic Scripting, visite o seguinte site:
Para usar esse método, crie um script conforme descrito no script de exemplo a seguir e, em seguida, salve o arquivo com uma extensão .vbs. Para executar o arquivo, clique duas vezes no arquivo ou digite cscript myscript.vbs em um prompt de comando.

Script de exemplo

'***********************'* Start Script'***********************Dim sComputerName, sUserOrGroup, sPath, computerContainer, rootDSE, lFlagDim secDescriptor, dACL, ACE, oComputer, sPwd'*********************************************************************'* Declare constants used in defining the default location for the '* machine account, flags to identify the object as a machine account,'* and security flags'*********************************************************************Const UF_WORKSTATION_TRUST_ACCOUNT = &H1000Const UF_ACCOUNTDISABLE = &H2Const ADS_GUID_COMPUTRS_CONTAINER = "aa312825768811d1aded00c04fd8d5cd"Const ADS_ACETYPE_ACCESS_ALLOWED = 0Const ADS_ACEFLAG_INHERIT_ACE = 2'*********************************************************************'* Set the flags on this object to identify it as a machine account'* and determine the name.  The name is used statically here, but may '* be determined by a command line parameter or by using an InputBox'*********************************************************************lFlag = UF_WORKSTATION_TRUST_ACCOUNT Or UF_ACCOUNTDISABLEsComputerName = "TestAccount"'*********************************************************************'* Establish a path to the container in the Active Directory where'* the machine account will be created.  In this example, this will'* automatically locate a domain controller for the domain, read the '* domain name, and bind to the default "Computers" container'*********************************************************************Set rootDSE = GetObject("LDAP://RootDSE")sPath = "LDAP://<WKGUID=" & ADS_GUID_COMPUTRS_CONTAINERsPath = sPath + ","sPath = sPath + rootDSE.Get("defaultNamingContext")sPath = sPath + ">"Set computerContainer = GetObject(sPath)sPath = "LDAP://" & computerContainer.Get("distinguishedName")Set computerContainer = GetObject(sPath)'*********************************************************************'* Here, the computer account is created.  Certain attributes must'* have a value before calling .SetInfo to commit (write) the object'* to the Active Directory'*********************************************************************Set oComputer = computerContainer.Create("computer", "CN=" & sComputerName)oComputer.Put "samAccountName", sComputerName + "$"oComputer.Put "userAccountControl", lFlagoComputer.SetInfo'*********************************************************************'* Establish a default password for the machine account'*********************************************************************sPwd = sComputerName & "$"sPwd = LCase(sPwd)oComputer.SetPassword sPwd'*********************************************************************'* Specify which user or group may activate/join this computer to the '* domain.  In this example, "MYDOMAIN" is the domain name and'* "JoeSmith" is the account being given the permission.  Note that '* this is the downlevel naming convention used in this example.'*********************************************************************sUserOrGroup = "MYDOMAIN\joesmith"'*********************************************************************'* Bind to the Discretionary ACL on the newly created computer account'* and create an Access Control Entry (ACE) that gives the specified'* user or group full control on the machine account'*********************************************************************Set secDescriptor = oComputer.Get("ntSecurityDescriptor")Set dACL = secDescriptor.DiscretionaryAclSet ACE = CreateObject("AccessControlEntry")'*********************************************************************'* An AccessMask of "-1" grants Full Control'*********************************************************************ACE.AccessMask = -1ACE.AceType = ADS_ACETYPE_ACCESS_ALLOWEDACE.AceFlags = ADS_ACEFLAG_INHERIT_ACE'*********************************************************************'* Grant this control to the user or group specified earlier.'*********************************************************************ACE.Trustee = sUserOrGroup'*********************************************************************'* Now, add this ACE to the DACL on the machine account'*********************************************************************dACL.AddAce ACEsecDescriptor.DiscretionaryAcl = dACL'*********************************************************************'* Commit (write) the security changes to the machine account'*********************************************************************oComputer.Put "ntSecurityDescriptor", Array(secDescriptor)oComputer.SetInfo'*********************************************************************'* Once all parameters and permissions have been set, enable the '* account.'*********************************************************************oComputer.AccountDisabled = FalseoComputer.SetInfo'*********************************************************************'* Create an Access Control Entry (ACE) that gives the specified user '* or group full control on the machine account'*********************************************************************wscript.echo "The command completed successfully."'*****************'* End Script'*****************
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.

Para obter mais informações sobre sinalizadores UserAccountControl, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
305144Como usar os sinalizadores UserAccountControl para manipular propriedades de conta de usuário
kbadsi

Propriedades

ID do Artigo: 315273 - Última Revisão: 12/01/2007 02:25:31 - Revisão: 3.8

Microsoft Windows XP Home Edition, Microsoft Windows XP Professional, Microsoft Windows XP Professional x64 Edition, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows 2000 Server, Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Web Edition

  • kbmt kbproductlink kbinfo KB315273 KbMtpt
Comentários
ocument.getElementsByTagName("head")[0].appendChild(m); CustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("