RJ.*_*RJ. 4 .net c# asp.net powershell exchange-server
我有一个应用程序,用于在C#代码中运行Exchange Powershell命令,如下所示.这是我用来运行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();
Run Code Online (Sandbox Code Playgroud)
到目前为止,此代码在所有情况下都非常完美 我试图运行的脚本而不是上面的脚本是为邮箱设置RetentionPolicy.我试图运行的脚本如下所示:
Set-Mailbox -Identity'rj'-RetentionPolicy'主要校园保留政策'
当我在powershell中运行它时,它运行得很好但是当我尝试使用下面的代码运行它时,我得到错误,"无法调用此函数,因为当前主机没有实现它."
从这个错误中,几乎看起来在C#中运行的命令无法运行RetentionPolicy命令,但这没有多大意义.我用谷歌搜索了所有的建议,但没有运气.
如果有人知道为什么会这样,那将非常有帮助.
Jay*_*kul 11
如果该命令通常会提示确认,那么您将需要:
-Confirm:$false为参数(也可能-Force)$ConfirmPreference = "None"调用设置邮箱之前(也可能是-Force太)| 归档时间: |
|
| 查看次数: |
6993 次 |
| 最近记录: |