在這裏有一個奇怪的問題。我可以在Lync Server 2010實例中啓動從C#應用程序到PowerShell的遠程會話。我能夠獲得所有特定於Lync的cmdlet並執行它們,但是如果我嘗試使用標準cmdlet執行某些操作(在我的情況下爲了將文件轉換爲字節數組,我的「get-content」) - 它不會識別命令。在Lync的遠程會話中執行標準PowerShell cmdlet
是否有方法/需要將標準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);
}
}
的「進口csannouncement」部分將只是正常工作......這是「獲取內容「部分冒險...
你連接到一個特殊的Lync遠程處理端點。您可以通過執行'icm -Session $ lyncSession {$ ExecutionContext.SessionState.InvokeCommand.GetCmdlets()}' –
來查看哪些cmdlet可用。謝謝,Keith。是的,我正在連接到OCSpowershell網址。我可以在它上面的get-command命令中輸入,但是我看到的只有一個是Lync cmdlet。所以......其餘的人在哪裏?我甚至無法運行add-pssnapin ... – napo
可能是因爲您應該執行導入會話,該導入會話允許您在本地調用Lync cmdlet,以便您可以訪問其他cmdlet。這是保護服務器的常用方法。此快速入門包含更多詳細信息:http://blogs.technet.com/b/csps/archive/2010/06/16/qsremoteaccess.aspx –