Как предварительная настройка клиентского компьютера RIS с помощью ADSI

Переводы статьи Переводы статьи
Код статьи: 302467 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Введение эта ссылка может указывать на содержимое полностью или частично на английском языке

надписьюnetbootGUIDатрибут объекта компьютера в Active Directory устанавливается на компьютер, либо идентификатор GUID, если она доступна или вычисляемое значение, основанное на адрес сетевой платы компьютера, который был включен для использования служб удаленной установки (RIS). надписьюnetbootGUIDатрибут устанавливается на этапе предварительной настройки клиентского компьютера. С помощью интерфейса служб Active Directory (ADSI), клиентский компьютер может быть программно предварительно задавая объект-компьютерnetbootGUIDатрибут службы каталогов Active Directory.

Дополнительная информация

При запуске клиентский компьютер RIS в сети он инициирует запрос на обслуживание сети. Active Directory необходимо проверить существование предварительно настроенными клиентскими учетной записи компьютера, совпадающий с клиентского компьютера RIS-сервера (используя служба уровня согласования информации загрузки [BINL]). BINL не проверяет наличие на клиентском компьютере, запрашивая Active Directory для объекта компьютера, которойnetbootGUIDсовпадает с идентификатором GUID, отправленных в течение запроса.

Примеры в этом разделе демонстрируют:
  • Как программно предварительная настройка компьютеров-клиентов, задавnetbootGUIDатрибут службы каталогов Active Directory.
  • Как определить, чтоnetbootGUIDатрибут должен иметь значение.

Примеры кода

Программно предварительная настройка клиента

Следующий пример использует Microsoft Visual Basic для демонстрации программного предварительная настройка клиентского компьютера, изменив значение строки октетаnetbootGUIDатрибут объекта компьютера в 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
				

Программное определение значений NetbootGUID

Следующий пример использует Microsoft Visual Basic Script для демонстрации программными средствами определить, чтоnetbootGUIDна компьютере должно быть присвоено значение атрибута.
'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
				

Ссылки

Для получения дополнительных сведений о ADSI посетите следующий веб-узел корпорации Майкрософт:
Общие сведения о активный интерфейс служб каталогов
http://TechNet.Microsoft.com/en-US/WindowsServer/2000/bb735360.aspx
For more information on remote installation services, visit the following Microsoft Web sites:
RIS client installation and administrative configuration options
http://pssweb/eps/performance/mnp_default.asp?loadtype=dynamic&loadurl=/eps/performance/msi/documentation/risclient.htm

Remote Operating System Installation
http://technet.microsoft.com/en-us/library/bb742586.aspx
For more information on how to programmatically determine the computer's GUID, click the following article number to view the article in the Microsoft Knowledge Base:
198871IShellFolder::GetDisplayNameOf returns names with GUIDs
For more information on how the computer's GUID is generated by the remote installation boot disk, click the following article number to view the article in the Microsoft Knowledge Base:
242920How the Remote Installation Boot disk works
For more information on CLSIDFromString, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn.microsoft.com/en-us/library/ms680589.aspx
Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
183544How to call CLSID and ProgID related COM APIs in Visual Basic
For an overview of WMI, visit the following MSDN Web site:
http://msdn.microsoft.com/en-us/library/bb985153.aspx

Свойства

Код статьи: 302467 - Последний отзыв: 22 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • операционная система Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
Ключевые слова: 
kbdswadsi2003swept kbhowto kbmt KB302467 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:302467

Отправить отзыв

 

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