Como inserir um computador cliente do RIS usando a ADSI

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: 302467
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
INTRODUÇÃO
O atributo netbootGUID de um objeto de computador no Active Directory é definido como GUID do computador, se disponível, ou um valor calculado com base no endereço da placa de rede para um computador que foi ativado para usar os serviços de instalação remota (RIS). O atributo netbootGUID é definido durante a fase de inserção do computador cliente. Usando as Active Directory Services Interface (ADSI), um computador cliente pode ser inserido programaticamente, definindo netbootGUID atributo do objeto de computador no Active Directory.
Mais Informações
Quando um computador de cliente do RIS na rede é iniciado, ele inicia uma solicitação de serviço de rede. O servidor RIS (usando o serviço de Boot Information Negotiation Layer [BINL]) deve Verifique o Active Directory a existência de uma conta de computador cliente inserido que coincide com o computador cliente. BINL verifica a existência de um computador cliente consultando o Active Directory para um objeto de computador cuja netbootGUID corresponde ao GUID enviada durante a solicitação.

Demonstram os exemplos fornecidos nesta seção:
  • Como inserir computadores clientes programaticamente, definindo o atributo netbootGUID no Active Directory.
  • Como determinar o que o netbootGUID atributo deve ser definido como.

Exemplos de código

Inserir programaticamente o cliente

O exemplo a seguir usa o Microsoft Visual Basic para demonstrar como para programaticamente inserir o computador cliente definindo o valor de seqüência de caracteres de octeto do atributo netbootGUID no objeto de computador no Active Directory.
'Here is an example of using the CLSIDFromString function to set'netbootGUID attribute on an existing computer object.'You can also set netbootGUID at the creation time of the computer objectPrivate Declare Function CLSIDFromString _    Lib "ole32.dll" (ByVal lpszProgID As Long, _                    pCLSID As Byte) As LongPrivate Sub Form_Load()  Dim oComp As IADs  Dim retval As Long  Dim strGUID As String  Dim pGUID(0 To 15) As Byte  strGUID = "{EEF00083-8597-4c2c-9ACB-FC860480FC5D}"  retval = CLSIDFromString(StrPtr(strGUID), pGUID(0))  Set oComp = GetObject("LDAP://cn=comp1,cn=computers,dc=mydomain,dc=com")  oComp.Put "netbootGUID", CVar(pGUID)  oComp.SetInfo   Set oComp = nothingEnd Sub				

Determinar programaticamente NetbootGUID valor

O exemplo a seguir usa o Microsoft Visual Basic Script para demonstrar como programaticamente determine o que o valor do atributo netbootGUID deve ser definido um computador.
'The sample uses WMI to return the UUID on the system.'If a UUID can not be found on the system it returns all F's.'What RIS does in this case is it uses a zero'd out version of the MAC 'address of the NIC the machine is booting off of. 'This sample will return the value required to set the 'netbootGUID attributeOption ExplicitDim boolWFMCapableDim szUUIDDim szMacDim SystemSetDim szAdapterDescriptionDim SystemItemDim NetworkAdapterSetDim NetworkAdapterDim iMacCount Set SystemSet = GetObject("winmgmts:").InstancesOf ("Win32_ComputerSystemProduct") For Each SystemItem In SystemSet  szUUID = SystemItem.UUID  If szUUID = "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF" Then    MsgBox "No system UUID could be found. This system does " & _           "not appear to support Intel's Wired For Management " & _           "specification. This script will now try and retrive " & _           "a MAC based UUID.", vbInformation, "Not WFM capable"    boolWFMCapable = 0  Else    InputBox "Successfully retrieved a system UUID, " & szUUID & _             ". This UUID has been placed in the text area below " & _             "for your convenience.", "WFM Capable", szUUID    boolWFMCapable = 1  End IfNext If boolWFMCapable = 0 Then  Set NetworkAdapterSet = GetObject("winmgmts:").InstancesOf ("Win32_NetworkAdapter")   iMACCount = 0  For Each NetworkAdapter In NetworkAdapterSet    If NetworkAdapter.AdapterType = "Ethernet 802.3" Then      szAdapterDescription = NetworkAdapter.Description      If NetworkAdapter.Description <> "Packet Scheduler Miniport" Then        szMAC = NetworkAdapter.MACAddress        szUUID = "00000000-0000-0000-0000-"&Replace(szMAC, ":", "")        InputBox "Based on the network adapter with the description """ & _                 szAdapterDescription & """, your system's UUID would " & _                 "be " & szUUID & ". This UUID has been placed in the " & _                 "text area below for your convenience." , _<BR/>                 "Not WFM Capable", szUUID      End If     End If    iMACCount = iMACCount + 1  NextEnd If				
Referências
Para obter mais informações sobre o ADSI, visite o seguinte site:
Visão geral sobre o Directory Services Interface Active
http://technet.microsoft.com/en-us/windowsserver/2000/bb735360.aspx
Para obter mais informações sobre serviços de instalação remota, visite os seguintes sites: Para obter mais informações sobre como determinar programaticamente o GUID do computador, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
198871IShellFolder::GetDisplayNameOf retorna nomes com GUIDs
Para obter mais informações sobre como o GUID do computador é gerado pelo disco de inicialização de instalação remota, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
242920Como funciona o disco de inicialização de instalação remota
Para obter mais informações sobre CLSIDFromString, visite o seguinte site da Web Microsoft Developer Network (MSDN): Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
183544Como chamar CLSID e ProgID relacionados COM APIs no Visual Basic
Para obter uma visão geral do WMI, visite o seguinte site da MSDN:

Propriedades

ID do Artigo: 302467 - Última Revisão: 12/06/2015 03:32:59 - Revisão: 5.1

Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Active Directory Service Interfaces 2.5, Microsoft Active Directory Service Interfaces 2.5

  • kbnosurvey kbarchive kbmt kbdswadsi2003swept kbhowto KB302467 KbMtpt
Comentários