以下のようにC#コード内でExchange Powershellコマンドを実行するアプリケーションがあります。これは、私がpowershellコマンドを実行するために使用する関連する行の例です。C#のエラーでpowershellコマンドを実行すると、 "現在のホストが実装していないためこの関数を呼び出せません"
RunspaceConfiguration rsConfig = RunspaceConfiguration.Create();
PSSnapInException snapInException = null;
//load Exchange shell
rsConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.E2010", out snapInException);
Runspace runSpace = RunspaceFactory.CreateRunspace(rsConfig);
//open runspace
runSpace.Open();
//setup pipeline
Pipeline pipeLine = runSpace.CreatePipeline();
String sScript = "get-mailbox -identity 'rj'";
//add script to pipeline
pipeLine.Commands.AddScript(sScript);
//run the script
pipeLine.Invoke();
pipeLine.Dispose();
このコードは、これまでのすべてのケースで完璧に動作します。上記の代わりに実行しようとしているスクリプトは、メールボックスのRetentionPolicyを設定することです。私はこのようなルックスを実行しようとしていますスクリプト:-Identity「RJ」-RetentionPolicy「メインキャンパス保持ポリシー」
-メールボックスを設定し、私はPowerShellを自分自身でこれを実行すると、私がしようとすると、それは完璧に動作しますが、以下のコードを使用して実行します。「現在のホストが実装していないため、この関数を呼び出せません」というエラーが表示されます。
このエラーから、C#で実行されるコマンドはRetentionPolicyコマンドを実行できないようですが、それはあまり意味がありません。私はこれをGoogledし、すべてのことを試してみましたが運がない。
なぜこのようなことが起こっているか知っていれば、非常に役に立ちます。
を実装rce。私がそれを加えたら、それは完璧に働いた。ヘルプありがとう、これらの要件を完了します。驚くばかり! –
チャームのように働いた!ありがとう –
完全なソースコードサンプル?ホストを作成するにはあまりにも完全なソースかもしれません。 – Kiquenet