利用搜索操作修改相似的 Active Directory 对象

更新日期: 2003年09月12日

描述信息

在特定域及其所有子域中的计算机上搜索以字符‘ATL’开头的字符串。之后,在结果集中修改所有计算机的位置属性。

说明: 如果开始搜索的域中包含全局编录服务器,请在将第八行中的LDAP标记替换为GC标记。例如,将代码:

"<LDAP://dc=NA,dc=fabrikam,dc=com>;" & _
修改为:
"<GC://dc=NA,dc=fabrikam,dc=com>;" & _

脚本代码

Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"

Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection

objCommand.CommandText = _
   "<LDAP://dc=NA,dc=fabrikam,dc=com>;" & _
   "(&(objectCategory=Computer)(cn=ATL*));" & _
   "ADsPath;subtree"
   
Set objRecordSet = objCommand.Execute

While Not objRecordset.EOF
    strADsPath = objRecordset.Fields("ADsPath")
    Set objComputer = GetObject(strADsPath)
    objComputer.Put "location", "Atlanta, Georgia"
    objComputer.SetInfo
    objRecordSet.MoveNext
Wend
WScript.Echo objRecordSet.RecordCount & _
   " computers objects modified."
   
objConnection.Close

有关在线支持,加入 msnews.microsoft.com news 服务器上的microsoft.public.windows.server.scripting 社区。要提供反馈或者报告脚本示例或《Scripting Guide》中的错误,请与 Microsoft TechNet联系。

免费声明

以上示例脚本不会获得由任何Microsoft标准支持计划或服务项目所提供的支持。这些示例脚本在提交时并未附带任何形式的保证承诺。不仅如此,Microsoft公司还不加限定条件地针对所有默许保证责任加以进一步否认,这其中便包括出于特定目的而针对适销性或适用性所承担的默许保证责任。因使用或执行上述示例脚本及文档资料而导致的全部风险均由读者自行承担。在任何情况下,Microsoft公司及其创作人员、亦或与上述脚本的创意、编制及提交有关的任何人员均无须针对因使用或无法使用上述示例脚本或文档资料所导致的任何损害(其中包括,企业利润损失、经营中断、业务信息丢失及其它经济损失)承担责任;即使Microsoft公司已被告知造成这种损害可能性,上述免责条款依然适用。


返回页首返回页首