Just nu i M3-nätverket
Gå till innehåll

ASP ADSI COM


Kedde

Rekommendera Poster

Jag har byggt några ASP sidor(vb-script) för att enkelt kunna administrera Active Directory. Funkar bra, inga problem. Nu vill jag förbättra allt genom att bygga ett objekt(VB). Jag började lite försiktigt med att hämta information o det funkar bra. Nu vill jag ju även kunna skriva till ADt. Det är nu som det blir strul. Får följande felmeddelande

"-2147016657Automation error A constraint violation occurred."

 

Om jag kör via asp sidan så fungerar alltså skrivning mot AD, men inte när jag har gjort ett objekt. Samma felmeddeland om jag kör via en .vbs fil.

 

Det är administratören som exekverar asp sidan.

ADt ligger på samma burk.

 

Någon som har en idé?

 

/redek

 

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Det är ett behörighetsfel. Lättast är att lägga VB komponenten i MTS och sätta identity på paketet till en användare med tillräcklig behörighet.

 

Ett annat alternativ är att ange, när du kopplar upp dig mot AD, vilken identitet du vill använda.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netdir/adsi/iadsopendsobject.asp

 

/foo

 

 

Länk till kommentar
Dela på andra webbplatser

Måste erkänna att jag rätt färsk på det här med Com-objekt, men suger åt mig så mycket jag kan.

 

Gjorde som du sa o gjorde ett paket i MTS, satte admin som användare. Klickade "start" i menyn. Är det något mer jag måste göra? Felet är det samma.

 

 

Länk till kommentar
Dela på andra webbplatser

Jahaja. Hittade vad felet var, tror jag. Kan ha varit andra fel oxå. Skrev om det mesta.

Så här såg ena raden ut

objUser.Put "saMAccountName",sUserName

 

när jag ändrade till detta så funkade det

objUser.Put "saMAccountName", "" & sUserName & ""

 

Måste tydligen ha med "

 

Tycker du(foo), o ni andra oxå för den delen, att man ska använda sig av MTS när man bygger komponenter för webben?

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Skönt att det löste sig ;)

 

Man skall ALLTID använda MTS när du har gjort komponenter i VB. Detta eftersom VB endast kan generera Apartment-threaded komponenter och inte Free-threaded komponenter som C++.

 

Skillnaden är att Apartment-threaded komponenter instansieras i samma process som din IIS server körs i och ännu värre att de exekveras på samma tråd, oavsett vilken användare som kör dem. Resultatet är att din web applikation blir helt seriell!

 

MTS är ett sätt att köra flera Apartment-threaded komponenter samtidigt och oberoende av varandra.

 

Att koda för MTS är otroligt enkelt. Det finns mycket exempelkod ute som visare hur en komponent skall vara strukturerad.

 

/foo

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...