在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远程会话中执行标准PowerShell cmdlet

您可以尝试为完整语言模式重新配置LYNC服务器远程会话。

(链接是关于配置Exchange服务器,但我相信这是相同的问题)

http://blog.mimecast.com/2011/08/get-full-control-over-your-exchange-remote-powershell-session/