Cómo ensayar previamente un equipo cliente RIS mediante ADSI

Seleccione idioma Seleccione idioma
Id. de artículo: 302467 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

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 object

Private Declare Function CLSIDFromString _
    Lib "ole32.dll" (ByVal lpszProgID As Long, _
                    pCLSID As Byte) As Long

Private 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 = nothing
End 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 attribute

Option Explicit

Dim boolWFMCapable
Dim szUUID
Dim szMac
Dim SystemSet
Dim szAdapterDescription
Dim SystemItem
Dim NetworkAdapterSet
Dim NetworkAdapter
Dim 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 If
Next
 
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
  Next
End 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:
Las opciones de configuración administrativa e instalación de cliente RIS
http://pssweb/eps/performance/mnp_default.asp?loadtype=dynamic&loadurl=/eps/performance/msi/documentation/risclient.htm

Instalación remota de sistema operativo
http://technet.microsoft.com/en-us/library/bb742586.aspx
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):
http://msdn.microsoft.com/en-us/library/ms680589.aspx
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:
http://msdn.microsoft.com/en-us/library/bb985153.aspx

Propiedades

Id. de artículo: 302467 - Última revisión: viernes, 4 de agosto de 2006 - Versión: 5.1
La información de este artículo se refiere a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Active Directory Service Interfaces 2.5
  • Microsoft Active Directory Service Interfaces 2.5
Palabras clave: 
kbmt kbdswadsi2003swept kbhowto KB302467 KbMtes
Traducción automática
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

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com