Я немного возился с веб-сервисами c # и vbscript.Все работает хорошо, если я запускаю сервисы вручную через IE непосредственно на веб-сервере, но когда я пытаюсь запустить тот же сервис из vbscript, он выдает «Произошла ошибка операций».исключение.
Служба довольно проста, все, что она делает, это создает компьютерный объект в Active Directory.
DirectoryEntry Container = new DirectoryEntry("LDAP://ldapgw/" + LDAPLocation);
DirectoryEntries ComputerOU = Container.Children;
DirectoryEntry ComputerObject = ComputerOU.Add("CN=" + ComputerName, "computer");
ComputerObject.InvokeSet("sAMAccountName", ComputerName);
ComputerObject.InvokeSet("description", "Reserved");
ComputerObject.InvokeSet("userAccountControl", 4128);
ComputerObject.CommitChanges();
Это срабатывает следующим образом:
Set soap = CreateObject("Msxml2.XMLHTTP")
soap "POST", URL, false, username, password
soap.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
soap.setRequestHeader "SOAPAction", nsURL + service
soap.send xml
IЯ предполагаю, что это как-то связано с разрешениями, но я не могу понять, что.Я использую олицетворение, и если я вывожу WindowsIdentity.GetCurrent()
, он, кажется, работает как правильный пользователь, который имеет необходимые права в AD.
Кто-нибудь знает, что я делаю не так?