C# Exchange脚本远程执行-Exchange&;通用PS cmdlet
我正在尝试对远程exchange服务器执行powershell脚本文件。脚本文件包含两个exchange cmdlet,以及一些写主机语句和自定义对象定义 代码::C# Exchange脚本远程执行-Exchange&;通用PS cmdlet,c#,exchange-server,powershell-2.0,C#,Exchange Server,Powershell 2.0,我正在尝试对远程exchange服务器执行powershell脚本文件。脚本文件包含两个exchange cmdlet,以及一些写主机语句和自定义对象定义 代码:: SecureString securePassword = new SecureString(); foreach (char x in Password) securePassword.AppendChar(x); PSCredential credentia
SecureString securePassword = new SecureString();
foreach (char x in Password)
securePassword.AppendChar(x);
PSCredential credentials = new PSCredential(UserID, securePassword);
var connectionInfo = new WSManConnectionInfo(new Uri("http:// exchangeserver:5985/wsman"),
"http://schemas.microsoft.com/powershell/Microsoft.PowerShell", credentials);
connectionInfo.AuthenticationMechanism = script.AuthenticationMode;
powerShellEngine.Runspace = RunspaceFactory.CreateRunspace(host, connectionInfo);
powerShellEngine.Runspace.Open();
powerShellEngine.AddScript("Content of PS1 file goes here");
//Some parameter addition goes here..
var results = powerShellEngine.Invoke();
到目前为止,我已经尝试了以下选项:
连接到端点:exchangeserver:5985/wsman
- 连接到上述终结点时Exchange cmdlet不可用。尝试连接到exchange server并将会话作为脚本文件的第一行导入: $Session=New PSSession-ConfigurationName Microsoft.Exchange-ConnectionUri http://exchangeseserver/PowerShell/-Authentication Kerberos 导入PSSession$会话 这导致以下错误: 使用Kerberos身份验证时发生以下错误:指定的登录会话不存在。它可能已经被终止了 这是由于Kerberos双跳问题造成的吗?此代码从控制台应用程序执行
- 尝试将Add-PSSNapin cmdlet作为脚本中的第一行导入PS管理单元。这失败了
- 已尝试像exchange shell那样执行exchange ps1脚本 <代码>C:\ProgramFiles\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1';连接ExchangeServer ExchangeServer 没有回应。。代码会挂起很多时间
- 只有exchange cmdlet是可执行的。Powershell虚拟目录锁定对所有通用PS cmdlet的访问