Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Windows Server 2008/2008 R2 (http://forum.oszone.net/forumdisplay.php?f=97)
-   -   VBS изменение параметров учетной записи пользователя в AD (http://forum.oszone.net/showthread.php?t=275506)

tangichhan 10-01-2014 10:45 2285909

VBS изменение параметров учетной записи пользователя в AD
 
Доброе время.
Всех с прошедшими праздниками и наступающими!!
Обращаюсь с такой вот проблемой имеется домен на 2008 r2 винде, с помощью скрипта пытаюсь изменить поля в учетной записи пользователя такие как должность, комната и т.д. Так вот после того как подключился к ад и пытаюсь внести изменения выдает ошибку "отказ в доступе", источник Active Directory.
Код:

Set WshNetwork = CreateObject("WScript.Network")
strUserNTName = WshNetwork.UserName
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
Wscript.Echo strDNSDomain
Set objTrans = CreateObject("NameTranslate")
objTrans.Init 3, ""
objTrans.Set 1, strDNSDomain
strNetBIOSDomain = objTrans.Get(3)
strNetBIOSDomain = Left(strNetBIOSDomain, Len(strNetBIOSDomain) - 1)
objTrans.Set 3, strNetBIOSDomain & "\" & strUserNTName
strUserDN = objTrans.Get(1)
Set objUser = GetObject("LDAP://" & strUserDN)
Set objOU = GetObject(objUser.Parent)
'Select Case Mid(objOU.Name, 4)
'Case "Admins"
'Wscript.Echo "objUser " & objUser ' вместо этого напишешь маппинг диска и прочее
'Case "SimpleUsers"
'Wscript.Echo "Hoho" ' аналогично
'End Select

 '  Set objADSystemInfo = CreateObject("ADSystemInfo")

 '  strUserDN = objADSystemInfo.UserName

 '  Wscript.Echo "метод 1: " & strUserDN
       
 '        'Code Snippet

strUserName = "hs"
dtStart = TimeValue(Now())
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
 
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.CommandText = _
    "<LDAP://dc=rkb,dc=local>;(&(objectCategory=User)" & _
        "(samAccountName=" & strUserName & "));distinguishedName;subtree"
Set objRecordSet = objCommand.Execute
If objRecordset.RecordCount = 0 Then
    WScript.Echo "sAMAccountName: " & strUserName & " does not exist."
Else
    WScript.Echo "|" & objRecordSet.Fields("distinguishedName") & "|"
        DNuser="LDAP://" & objRecordSet.Fields("distinguishedName")
        Set objUsers = GetObject (""& DNuser & "")
        objUsers.Put "Mobile", "9146556555"
        objUsers.SetInfo
End If

objConnection.Close

Что я сделал не так, подскажите пожалуйста ?


Время: 21:24.

Время: 21:24.
© OSzone.net 2001-