我需要使用C#中的powershell类运行Exchange在线cmdlet。
要运行Exchange Online cmdlet,我需要建立一个远程PowerShell会话。
我的怀疑是: 1)如果runspacepool size为2,那么应该在该runspacepool的两个运行空间中创建远程PowerShell会话吗?如果是,我怎样才能有办法循环运行空间来运行New两个运行空间中的-PSSession命令。
2)如果会话在一个运行空间中到期,是否有办法从runspacepool获取该特定的运行空间,并创建仅运行空间的新会话?
答案 0 :(得分:0)
您无需为池中的每个运行空间手动创建远程会话。相反,在使用以下重载实例化runspacepool时提供连接信息:RunspaceFactory.CreateRunspacePool(Int32, Int32, RunspaceConnectionInfo)
(如this answer所示):
string shell = "http://schemas.microsoft.com/powershell/Microsoft.PowerShell";
var target = new Uri("http://myserver/wsman");
var secured = new SecureString();
foreach (char letter in "mypassword")
{
secured.AppendChar(letter);
}
secured.MakeReadOnly();
var credential = new PSCredential("username", secured);
var connectionInfo = new WSManConnectionInfo(target, shell, credential);
Runspace remotePool = RunspaceFactory.CreateRunspacePool(0,2,connectionInfo);