Cómo ensayar previamente un equipo cliente RIS mediante ADSI

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 302467
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
INTRODUCCIÓN
El atributo netbootGUID de un objeto de equipo en Active Directory se establece en GUID del equipo, si está disponible, o un valor calculado en función de la dirección de red tarjeta para un equipo que se ha habilitado para utilizar servicios de instalación remota (RIS). El atributo netbootGUID se establece durante la fase de ensayo previo del equipo cliente. Utilizando la interfaz de servicios de Active Directory (ADSI), el equipo cliente puede ser preensayado mediante programación estableciendo atributo de netbootGUID del objeto de equipo en Active Directory.
Más información
Cuando se inicia un equipo de cliente RIS en la red inicia una solicitud de servicio de red. El servidor RIS (mediante el servicio capa de negociación de información de inicio [BINL]) debe Compruebe Active Directory la existencia de una cuenta de equipo cliente ensayado previamente que coincida con el equipo cliente. BINL comprueba la existencia de un equipo cliente consultando Active Directory para un objeto de equipo cuya netbootGUID coincide con el GUID enviado durante la solicitud.

Los ejemplos proporcionados en esta sección muestran:
  • Cómo mediante programación ensayar previamente equipos cliente estableciendo el atributo de netbootGUID en Active Directory.
  • Cómo determinar lo que el atributo netbootGUID debe establecerse en.

Ejemplos de código

Mediante programación ensayar previamente el cliente

En el siguiente ejemplo se utiliza Microsoft Visual Basic para demostrar cómo mediante programación preensayar el equipo cliente estableciendo el valor de cadena de octeto del atributo netbootGUID en el objeto de equipo en 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 mediante programación el valor NetbootGUID

En el siguiente ejemplo se utiliza Microsoft Visual Basic Script para demostrar cómo determinar mediante programación qué debe establecer el valor del atributo netbootGUID para un equipo.
'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				
Referencias
Para obtener más información acerca de ADSI, visite el siguiente sitio Web de Microsoft:
Introducción a interfaz de servicios de Active Directory
http://technet.microsoft.com/en-us/windowsserver/2000/bb735360.aspx
Para obtener más información en servicios de instalación remota, visite los siguientes sitios Web de Microsoft: Para obtener más información acerca de cómo determinar mediante programación el GUID del equipo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
198871IShellFolder::GetDisplayNameOf devuelve los nombres con GUID
Para obtener más información acerca de cómo se genera GUID del equipo el disco de inicio de instalación remota, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
242920Cómo funciona el disco de inicio de instalación remota
Para obtener más información sobre CLSIDFromString, visite el siguiente sitio Web de Microsoft Developer Network (MSDN): Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
183544Cómo llamar a CLSID y ProgID relacionados con la API de COM en Visual Basic
Para obtener información general de WMI, visite el siguiente sitio Web de MSDN:

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 302467 - Última revisión: 12/06/2015 03:32:54 - Revisión: 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 KbMtes
Comentarios
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)