2013-09-23 15 views
8

Potrzebuję pomocy w przypadku problemu, który próbuję rozwiązać przez tydzień.Skrypt PowerShell nic nie zwraca na wykonanie IIS

Mam skrypt PowerShell, który zwraca listę użytkowników ze środowiska Office365.

Jeśli uruchomię skrypt z mojej konsoli PowerShell (moja maszyna), skrypt zwróci oczekiwane dane. Jeśli uruchomię skrypt z konsoli PowerShell serwera (W2008 R2 SP1), skrypt zwróci oczekiwane dane. Jeśli debuguję mój kod C# WebService (z którego skrypt jest wykonywany) w moim komputerze, srcipt zwraca oczekiwane dane.

PROBLEM: Jeśli zadzwonię do usługi WebService hostowanej na serwerze, skrypt zwróci wartość NIC.

Kod:

RunspaceConfiguration runspcConfig = RunspaceConfiguration.Create(); 
Runspace run = RunspaceFactory.CreateRunspace(runspcConfig); 
run.ApartmentState = System.Threading.ApartmentState.STA; 
run.ThreadOptions = PSThreadOptions.UseCurrentThread; 
run.Open(); 
Pipeline pipeline = run.CreatePipeline(); 
Command cmd = new Command("PathScript.ps1"); 
cmd.Parameters.Add(new CommandParameter("DOMAIN", "domain.onmicrosoft.com")); 
cmd.Parameters.Add(new CommandParameter("PRODUCT", "productReference")); 
pipeline.Commands.Add(cmd); 
Collection<PSObject> users=pipeline.Invoke(); 

Wreszcie znaleziono błąd: Typ inicjator dla 'Microsoft.Online.Administration.Automation.ConnectMsolService' zwrócił wyjątek.

Użytkownik i hasło mają rację, IUSR i "użytkownik aplikacji ApplicationPool" wchodzą w skład grupy administratorów.

Każdy pomysł?

+2

Jeśli chcesz pomóc w kodzie trzeba najpierw pokazać swój kod. –

+0

Oto kod: – user2806842

+0

@ user2806842 Można odpowiedzieć na własne pytanie. –

Odpowiedz

1

przez OP,

Problem solved: "Load User Profile" to true in IIS application pool advanced settings

Powiązane problemy