8

1 週間解決しようとしていた問題について助けが必要です。

Office365 環境からユーザーのリストを返す PowerShell スクリプトがあります。

PowerShell コンソール (自分のマシン) からスクリプトを実行すると、スクリプトは予期したデータを返します。サーバー (W2008 R2 SP1) PowerShell コンソールからスクリプトを実行すると、スクリプトは予期したデータを返します。自分のマシンで (スクリプトが実行された場所から) C# WebService コードをデバッグすると、srcipt は期待されるデータを返します。

問題: サーバーにホストされている WebService を呼び出すと、スクリプトは何も返しません。

コード:

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();

最後にエラーが見つかりました: 'Microsoft.Online.Administration.Automation.ConnectMsolService' の型初期化子が例外をスローしました。

ユーザーとパスワードは正しく、IUSR と「ApplicationPool ユーザー」は管理者グループに含まれています。

何か案が?

4

1 に答える 1

2

OPによって、

問題の解決: IIS アプリケーション プールの詳細設定で [ユーザー プロファイルの読み込み] を true に設定

于 2013-12-11T16:55:41.847 に答える