在Lync远程会话中执行标准PowerShell cmdlet
本文关键字:执行 标准 PowerShell cmdlet 会话 Lync 程会话 | 更新日期: 2023-09-27 17:50:24
这边有个奇怪的问题。我能够在Lync Server 2010实例中启动从c#应用程序到PowerShell的远程会话。我能够获得所有特定于lync的cmdlet并执行它们,但是如果我尝试使用标准cmdlet做一些事情—在我的例子中是"get-content",以便将文件转换为字节数组—它将无法识别该命令。
是否有一种方法/需要将标准的PS集加载到该会话中?感觉我好像错过了什么……
提前感谢!
N编辑:这里是我正在做的代码片段…
PSCredential creds = new PSCredential(lyncUser, lyncPW);
WSManConnectionInfo conn = new WSManConnectionInfo(new Uri(lyncURI), schema, creds);
conn.AuthenticationMechanism = AuthenticationMechanism.Default;
Runspace rs = RunspaceFactory.CreateRunspace(conn);
rs.Open();
List<FileInfo> files = getWavFiles();
foreach (var file in files)
{
Pipeline lyncCommands = rs.CreatePipeline();
Command getContent = new Command("Get-Content");
getContent.Parameters.Add(file.FullName);
getContent.Parameters.Add("readcount", 0);
getContent.Parameters.Add("encoding", "byte");
lyncCommands.Commands.Add(getContent);
Command importAnnouncement = new Command("import-csannouncementfile");
importAnnouncement.Parameters.Add("parent", "applicationserver:myserver.mydomain.mycom");
importAnnouncement.Parameters.Add("filename", file.Name);
importAnnouncement.Parameters.Add("force");
lyncCommands.Commands.Add(importAnnouncement);
foreach (PSObject r in lyncCommands.Invoke())
{
Console.WriteLine(r.ToString() + Environment.NewLine);
}
}
import-csannouncement部分可以正常工作…这是"get-content"部分,它变得很冒险…
您可以尝试为完整语言模式重新配置LYNC服务器远程会话。
(链接是关于配置Exchange服务器,但我相信这是相同的问题)
http://blog.mimecast.com/2011/08/get-full-control-over-your-exchange-remote-powershell-session/