服务连接点属性

对于大多数服务来说,serviceConnectionPoint 类的属性已经足够。 Active Directory 域服务没有定义属性的使用方式,因此服务客户端必须要能解释和使用服务 SCP 中的数据。 必须发布有关自身的其他数据的服务可以通过创建 serviceConnectionPoint 类的子类来扩展 Active Directory 模式,并为子类提供不同的名称。 有关架构扩展的详细信息,请参阅扩展架构

SCP 最重要的属性包括 keywordsserviceDNSNameserviceDNSNameTypeserviceClassNameserviceBindingInformation。 客户端应用程序会搜索目录中的 keywords 值,以找到 SCP。 在找到 SCP 后,客户端可以读取其他属性来检索服务数据。

Attribute 说明
keywords
keywords 属性可包含多个字符串值来标识服务。 该属性包含在全局目录中,这意味着企业林中任何域的客户端都可以在全局目录中搜索与服务相关的关键字。 该属性也会被编入索引,从而提高查询性能。 创建 SCP 的安装程序会设置 keywords 属性的值。 通常,活动服务不会修改这些值。
应在 SCP 中包含的确切关键词取决于客户如何搜索相关服务。 最好使用 GUID 字符串作为关键字,因为 GUID 在林中是唯一的。 使用 RPC 库中 UuidToString 函数返回的 GUID 字符串格式。 如果客户可能会使用用户可读名称来搜索服务,则也可以加入这类名称。 SCP 中的关键字应包含 GUID 字符串和/或名称,以识别有关服务的以下数据:
  • 贵公司或组织:例如,Fabrikam。
  • 产品或服务:例如 SQL Server。 这样,客户端应用程序就能找到该类型服务的 SCP。
  • 产品或服务的特定版本,如 7.5。
  • 对于为某类服务发布特定数据集或功能的 SCP,应包含一个 GUID 字符串或名称来标识特定实例。 例如,数据库服务可以为特定数据库发布 SCP。 在这种情况下,SCP 将包括一个用于标识服务的产品 GUID 和另一个用于标识数据库的 GUID。

serviceDNSNameserviceDNSNameType
客户端应用程序使用 serviceDNSNameserviceDNSNameType 属性来确定服务的主机计算机。 serviceDNSNameType 值表示 serviceDNSName 指定的 DNS 名称类型,如果 serviceDNSName 包含主机名,则通常为“A”;如果 serviceDNSName 包含 SRV 记录名,则为“SRV”。
serviceDNSName 值通常是服务的主机计算机的 DNS 名称。 服务安装程序可以调用 GetComputerNameEx 函数来获取本地计算机的 DNS 名称。
对于具有 DNS SRV 记录的服务,serviceDNSName 可以是 SRV 记录的名称。 客户端应用程序使用 DNS API 检索与此名称匹配的所有 SRV 记录。 然后,客户端会从其中一条 SRV 记录中检索 DNS 主机名。 这种技术对复制服务非常有用,因为 SRV 记录还包括能让客户端选择最佳复制的数据。
serviceBindingInformation
多值属性,其中包含字符串值,用于存储绑定服务所需的数据。 该属性会被编入索引并复制到全局目录。
serviceBindingInformation 的内容特定于发布 SCP 的服务;客户端必须解释绑定数据。 在最常见的情况下,绑定数据由服务主机计算机上的端口号组成。
serviceClassName
一个单值属性,用于标识 SCP 所代表的服务类别。 这是特定于发布 SCP 的服务的描述性字符串;例如,SqlServer。 对于支持相互身份验证的服务,客户端可以使用此属性与服务主机计算机的 DNS 名称一起组成服务主体名称。 有关详细信息,请参阅使用 Kerberos 进行相互身份验证