Avatar billede everclear Praktikant
14. november 2010 - 19:43 Der er 2 kommentarer

Kør PowerShell kommandoer med Exchange 2010 SP1 fra C#

Hej Eksperter;

Jeg sidder og er ved at eksperimentere med en lille app, der kan køre Powershell kommandoer mod vores Exchange 2010 SP1 - jeg forsøger at oprette en mailbox, men får en irriterende fejl som jeg ikke rigtig kan finde en løsning på. Jeg har følgende kode:

------------------------------------------------------------
ICollection<PSObject> results = new Collection<PSObject>();

RunspaceConfiguration rc = RunspaceConfiguration.Create();
PSSnapInException snapEx = null;

PSSnapInInfo info = rc.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.E2010", out snapEx);

Runspace myRunSpace = RunspaceFactory.CreateRunspace(rc);
myRunSpace.Open();

// Create a pipeline...

Pipeline pipeLine = myRunSpace.CreatePipeline();
using (pipeLine)
{
// Create a command object so we can set some parameters
// for this command.

Command newMbx = new Command("new-mailbox");

newMbx.Parameters.Add("password", "123445678");
newMbx.Parameters.Add("firstname", "Test");
newMbx.Parameters.Add("lastname", "Test");
newMbx.Parameters.Add("Name", "Test Test");
newMbx.Parameters.Add("DisplayName", "Test Test");
newMbx.Parameters.Add("UserPrincipalName", "test@test.dk");
newMbx.Parameters.Add("Organization", "testorg");

// Add the command we've constructed
pipeLine.Commands.Add(newMbx);

// Execute the pipeline and save the objects returned.
results = pipeLine.Invoke();
--------------------------------------------------------------

I det øjeblik jeg kalder pipeLine.Invoke() får jeg en exception:

Value cannot be null.
Parameter name: parameters

Jeg har rodet med det i nogle timer nu og kan ikke lige gennemskue om enten:

a) Der er en smartere måde at eksekvere kommandoer på Exchange 2010 SP1
b) Om jeg mangler at sende noget med over til min Invoke-metode

Håber der er nogen, der kan komme med en løsning på min lille problem :)
Avatar billede bkp Nybegynder
15. november 2010 - 08:05 #1
Fejlebeskeden lyder for mig som om at du mangler at angive en parameter?

Hvor slutter din using sektion, det fremgår ikke af dit eksempel, jeg håber at } kommer tidligst efter din Invoke();
Avatar billede everclear Praktikant
15. november 2010 - 08:14 #2
Min using-sektion slutter helt i bunden efter jeg har kaldt invoke.
Fejlen siger godt nok, at der mangler en parameter kaldet "parameters" og at den har en value, der er null - men jeg har ingen anelse om, hvad det er den mangler.

Ud fra de forskellige eksempler jeg kan finde på nettet, så skulle min kode fungere fint - men det kan jeg jo så se, at den ikke gør :(

For mig lyder det dog som om det er selve command-parameters den mangler, men dem giver jeg jo på selve mit command-object som jeg smider ind i pipelinen.

Jeg forstår ikke helt, hvad det er den brokker sig over.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester