这里有一个奇怪的问题。我能够在 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”部分可以正常工作......它是“get-content”部分,变得有点冒险......