在NT移植期間改變用戶帳戶的屬性
在把用戶從NT的備份域控制器向Windows
移植的過程中
我們需要改變用戶的資料檔案的路徑
這個腳本是由其它的代碼的片斷以及一些巧妙的方法綜合而成的
這使得修改其它用戶的屬性變得相當容易
===================================================
Name: moduser
vbs
Description: Modify profile path of user accounts
Only those with a current roaming profile are udpated
Original:
Jun
=================================================
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 = _
<LDAP://dc=
dc=>;
& _
(&(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
From:http://tw.wingwit.com/Article/os/fwq/201311/29822.html