-1
私は以下のスクリプトをうまく動作させることができます。これは、コンピュータオブジェクトのいくつかの属性を変更します。しかし、私はuseraccountの属性を変更する方法を知ることができません(従業員IDですが、実際は "Managed by"属性のために検索します)。誰かが余分な行を追加する方法を理解できますか?私はuseraccountの属性を変更できますか?ADの属性を変更するVBScript
'Retrieves all attributes for the specified computer object.
Set WshShell = CreateObject("WScript.Shell")
Set objEnv = WshShell.Environment("Process")
Set args = WScript.Arguments
strComputerName = WScript.Arguments.Item(0)
strSiteCode = WScript.Arguments.Item(1)
strEmployeeID = Mid(strComputerName, 2, 7)
strSysDivision = WScript.Arguments.Item(2)
Set conn1 = CreateObject("ADODB.Connection")
Set objCommand1 = CreateObject("ADODB.Command")
conn1.Provider = "ADsDSOObject"
conn1.Open "ADs Provider"
Set objCommand1.ActiveConnection = conn1
objCommand1.Properties("Page Size") = 1000
objCommand1.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand1.CommandText = "<LDAP://URL" & ">;(&(objectcategory=computer)(Name=" & strComputerName & "));adspath;subtree"
Set rs1 = objCommand1.Execute
Set objComputer = GetObject(rs1.Fields(0).Value)
Set conn = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
conn.Provider = "ADsDSOObject"
conn.Open "ADs Provider"
Set objCommand.ActiveConnection = conn
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText="<LDAP://URL" & ">;(&(objectCategory=person)(objectClass=user)(employeeid=" & strEmployeeID & "));adspath;subtree"
Set rs = objCommand.Execute
While Not rs.EOF
Set Userobject = GetObject(rs.Fields(0).Value)
userdn = UserObject.distinguishedName
Userobject.Put "extensionattribute8", "test"
Userobject.SetInfo
If (Instr(userdn, "OU=Admin") > 1) Then
Else
ManagedByUser = Userobject.distinguishedName
UserObject = Null
End If
rs.MoveNext
Wend
rs.Close
conn.Close
On Error Resume Next
objComputer.Put "ManagedBy", ManagedByUser
objComputer.SetInfo
objComputer.Put "extensionattribute1", strSiteCode
objComputer.SetInfo
objComputer.Put "employeeId", strEmployeeID
objComputer.SetInfo
On Error Resume Next
objComputer.Put "Division", strSysDivision
objComputer.SetInfo
rs1.Close
conn1.Close
2番目のクエリが実際に期待どおりの結果を返すことを確認します。また、あなたが期待した通りに*正確に*動作していないものはありますか?現在、ユーザーアカウントの属性を変更しようとしていません。 –