Chinaunix首页 | 论坛 | 博客
  • 博客访问: 556301
  • 博文数量: 625
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4745
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-17 15:46
文章分类

全部博文(625)

文章存档

2011年(1)

2008年(624)

我的朋友

分类:

2008-10-17 15:49:05


  在NT移植期间改变用户帐户的属性
  
  在把用户从NT的备份域控制器向 2000移植的过程中,我们需要改变用户的资料档案的路径。这个脚本是由其它的代码的片断以及一些巧妙的方法综合而成的。这使得修改其它用户的属性变得相当容易。
  
  ===================================================
  ' Name: moduser.vbs
  ' Description: Modify profile path of user accounts.
  
  Only those with a current roaming profile are udpated.
  ' Original: 13 Jun 05
  '
  '=================================================
  
  Set objConnection = CreateObject("ADODB.Connection")
  
  objConnection.Open "Provider=ADsDSOObject;"
  
  Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = objConnection
  
  WScript.StdOut.WriteLine "Enter search criteria.
  
  Wildcards can be used."
  strUserName = WScript.StdIn.ReadLine
  WScript.Echo
  
  objCommand.CommandText = _
  ";"
  
  & _ "(&(objectCategory=user)(sAMAccountName=" & strUserName & "));" & _
  
  "sAMAccountName,profilePath,ADsPath;subtree"
  
  Set objRecordSet = objCommand.Execute
  
  If objRecordset.EOF Then
  Wscript.Echo "No user account(s) found with the specified criteria."
  Else
  Wscript.Echo "User account(s) with the specified criteria:"
  While Not objRecordset.EOF
  Wscript.Echo objRecordset.Fields("sAMAccountName") & " : " & _
  objRecordset.Fields("profilePath")
  objRecordset.MoveNext
  WEnd
  End If
  WScript.Echo
  
  strNewProfPath = ""
  While strNewProfPath = ""
  WScript.StdOut.WriteLine "Enter new profile server and share: "
  StrNewProfPath = WScript.StdIn.ReadLine WEnd WScript.Echo
  
  ' Refresh record set to apply new path.
  Set objRecordSet = objCommand.Execute
  
  While Not objRecordset.EOF
  If IsNull(objRecordSet.Fields("profilePath")) Then
  WScript.Echo objRecordSet.Fields("sAMAccountName") & " has no roaming profile."
  WScript.Echo
  Else
  strADsPath = objRecordSet.Fields("ADsPath")
  Set objUser = GetObject(strADsPath)
  objUser.Put "profilePath", strNewProfPath & "" & _
  objRecordset.Fields("sAMAccountName") & ".USR"
  objUser.SetInfo
  End If
  objRecordset.MoveNext
  WEnd
  
  ' Refresh record set to view new profile path.
  Set objRecordSet = objCommand.Execute
  
  WScript.Echo "User account(s) with the new target data:"
  While Not objRecordset.EOF
  'WScript.Echo objRecordSet.Fields("profilePath")
  If objRecordSet.Fields("profilePath") <> " " Then
  Wscript.Echo objRecordset.Fields("sAMAccountName") & " : " & _
  objRecordset.Fields("profilePath")
  End If
  objRecordset.MoveNext
  WEnd
  
  objConnection.Close
【责编:admin】
--------------------next---------------------

阅读(431) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~