在远程会话中执行标准PowerShell cmdlet到Lync

时间:2013-01-03 00:38:51

标签: c# powershell powershell-remoting lync cmdlets

这里有一个奇怪的问题。我能够在Lync Server 2010实例中从C#应用程序启动到PowerShell的远程会话。我能够获取所有特定于Lync的cmdlet并执行它们,但是如果我尝试使用标准cmdlet执行某些操作 - 在我的情况下“get-content”以便将文件转换为字节数组 - 它不会认识到这个命令。

是否有办法/需要将标准PS集cmdlet加载到该会话中?感觉我在这里错过了一些东西......

提前致谢!

<磷>氮

编辑:这是我正在进行的代码片段......

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”部分工作得很好......它是“获取内容”的部分,它会变得冒险......

1 个答案:

答案 0 :(得分:0)

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

(链接是关于配置Exchange服务器,但我认为这是同一个问题)

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