IADsContainer::MoveHere 方法 (iads.h)

   日期:2024-12-26    作者:weihaiaishang 移动:http://oml01z.riyuangf.com/mobile/quote/44206.html

IADsContainer::MoveHere 方法将指定的对象移动到实现此接口的容器。方法可用于重命名 对象。



以 null 结尾的 Unicode 字符串,指定要移动的对象的 ADsPath

以 null 结尾的 Unicode 字符串,指定容器中新对象的相对名称。 这可以是 NULL,在这种情况下,将移动对象。 如果它不是 NULL,则会在进程中相应地重命名对象。

指向指向移动对象上 IDispatch 接口的指针的指针。

此方法支持标准返回值(包括 S_OK)以成功执行操作。 有关错误代码的详细信息,请参阅 ADSI 错误代码。

在 Active Directory 中,可以移动同一域中的对象,也可以从同一目录林中的不同域移动对象。 对于跨域移动,以下限制适用:

  • 目标域必须处于本机模式。
  • 要移动的对象必须是叶对象或空容器。
  • NT LAN Manager (NTLM) 无法执行身份验证;使用 Kerberos 身份验证或委派。 请注意,如果未使用 Kerberos 身份验证,则密码通过网络以明文形式传输。 若要避免这种情况,请使用具有安全身份验证的委派。
  • 不能将安全主体 (,例如用户、组、计算机等) 属于全局组。 移动安全主体时,会在目标位置为对象创建新的 SID。 但是,将保留源中的旧 SID(存储在 sIDHistory 属性中)以及 对象的密码。
 
 
下面的代码示例将用户“jeffsmith”从“South.Fabrikam.Com”域移动到“North.Fabrikam.Com”域。 首先,它获取指向目标容器的 IADsContainer 指针,然后 MoveHere 调用指定要移动的对象的路径。

无服务器 ADsPath 可用于源或目标或两者。

IADsContainer::MoveHere 方法可用于重命名同一容器中的对象或在不同容器之间移动对象。 移动对象会保留对象 RDN,而重命名对象会更改 RDN。

例如,下面的代码示例执行重命名操作。


下面的代码示例执行移动。


在 Visual Basic 应用程序中,将对象从一个容器移动到另一个容器时,可以将 vbNullString 作为第二个参数传递。


但是,不能对 VBScript 执行相同的操作。 这是因为 VBScript 将 vbNullString 映射到空字符串而不是 null 字符串,Visual Basic 也一样。 必须显式使用 RDN,如上一示例所示。

 

示例

下面的代码示例演示如何使用此方法重命名对象。


下面的代码示例使用 IADsContainer::MoveHere 方法移动用户对象。



要求 值 最低受支持的客户端 Windows Vista 最低受支持的服务器 Windows Server 2008 目标平台 Windows 标头 iads.h DLL Activeds.dll

ADSI 错误代码

ADS_AUTHENTICATION_ENUM

ADsOpenObject

IADsContainer

IADsContainer::CopyHere

IADsOpenDSObject::OpenDsObject


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号