如何通过使用 ADSI 预备的 RIS 客户端计算机

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 302467
本文已归档。它按“原样”提供,并且不再更新。
简介
在 Active Directory 中的计算机对象的该 netbootGUID 属性设置为计算机的 GUID 如果可用) 或基于网络卡地址已启用要使用远程安装服务 (RIS) 中的计算机上的计算的值。 在客户端计算机的预先设置阶段设置 netbootGUID 属性。通过 Active Directory 服务接口 (ADSI) 客户端计算机可以是以编程方式预备的计算机对象的 netbootGUID 属性设置在 Active Directory 中的。
更多信息
启动 RIS 客户端计算机在网络上的时它将启动一个网络服务请求。RIS 服务器 (使用启动信息协商层 [BINL] 服务) 必须检查存在匹配客户端计算机的预备客户端计算机帐户的 Active Directory。BINL 通过其 netbootGUID 与在请求过程中发送的 GUID 相匹配的计算机对象的查询 Active Directory 来检查存在的客户端计算机。

在本节中提供的示例说明:
  • 如何以编程方式通过在 Active Directory 中设置 netbootGUID 属性预备客户机。
  • 如何确定什么 netbootGUID 属性应设置为。

代码示例

以编程方式预备客户端

下面的示例使用 Microsoft Visual Basic 来演示如何以编程方式通过 Active Directory 中的计算机对象上设置八位字节字符串值 netbootGUID 属性的预备客户端计算机。
'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				

以编程方式确定 NetbootGUID 值

下面的示例演示如何以编程方式确定什么 netbootGUID 属性值应设置为计算机的使用 Microsoft Visual Basic 脚本。
'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				
参考
有关 ADSI 的详细信息,请访问下面的 Microsoft 网站: 有关远程安装服务的详细信息,请访问以下 Microsoft 网站: 有关如何以编程方式确定计算机的 GUID 的详细信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
198871IShellFolder::GetDisplayNameOf 返回 guid 的名称
有关如何将计算机的 GUID 生成由远程安装启动磁盘的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
242920远程安装启动磁盘的工作原理
有关 CLSIDFromString 的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 的网站: 有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
183544如何调用 CLSID 和 ProgID 相关 Visual Basic 中的 COM api
有关 WMI 的概览,请访问下面的 MSDN 网站:

警告:本文已自动翻译

属性

文章 ID:302467 - 上次审阅时间:12/06/2015 03:33:03 - 修订版本: 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 KbMtzh
反馈