Erelid |
|
Folks,
ik ben op zoek naar een goeie uitleg rond COM+ componenten (te ontwikkelen in C#.NET) en hoe ze vervolgens te gebruiken in een andere C#-context.
Scenario:
Vanuit een bepaald proces X, dat draait onder de Network Service user, moeten een aantal cmdlets in PowerShell aangeroepen worden. Deze moeten echter draaien als een administrator, omdat die op zich acties uitvoeren in MS Exchange. De cmdlets geven fouten (is een geweten probleem bij MS) als je met impersonatie gaat knoeien, zijn geen ondersteunde workarounds voor.
Wat ze dan wel aanbevelen in dergelijke scenario's - klinkt best logisch - is dat je een COM+ component maakt die de Exchange interactie verzorgt, die instelt op de administrator user account, en dan die COM+ component aanroept vanuit het proces.
Het probleem is nu, volgens een uitleg die ik gevolgd heb, dat ik wel een COM+ component kan maken, deze registreren (is ook zichtbaar in het overzicht), maar als ik een referentie naar dat COM+ object leg vanuit Visual Studio zegt ie dat het niet mogelijk is om een referentie te leggen naar een COM+ object dat uit .NET is geëxporteerd etc etc.
Nu heb ik dan eens goed teruggekeken naar die uitleg, en zag dat het daar over .NET 2 ging. Ik wil dus die zooi maken zoals het hoort in .NET 3.5 (niet in 4 want dat gaat momenteel niet op die softwareomgeving). Iemand een goeie tutorial/uitleg/betere aanpak?
Excuses als het wat abstract klinkt
edit:
Ondertussen een andere (& betere oplossing gevonden):
Een Windows Service die in staat voor de interactie met Exchange, die via IcpChannels communiceert met proces X.
|