2015-11-05 142 views
0

使用PowerShell遠程處理時,返回的對象將被序列化,導致PSObject的保真度丟失。因爲我不能在需要的深度訪問屬性。有什麼方法可以解決這個問題,並獲得完整的PSObject?從遠程會話接收完整的PSObject(未序列化)

+1

看來你可以控制[序列化行爲,包括PSStandardMember屬性的深度](http://blogs.msdn.com/b/powershell/archive/2007/05/01/object-serialization-directives.aspx)。 PSStandardMembers控制PowerShell的一些內部行爲,例如[輸出中顯示的默認成員](http://blogs.msdn.com/b/powershell/archive/2010/02/18/psstandardmembers-the-stealth-property的.aspx)。 –

回答

2

您無法從遠程會話中獲取未序列化的對象。會話之間的數據流是SOAP。這是HTTP/HTTPS,所以它必須被序列化爲文本流。您可以通過在遠程端執行自己的序列化併發送返回的結果文本字符串來繞過默認序列化深度的限制,但如果這是您發佈的上一個問題的後續內容,那麼您不會去如果您連接到Exchange管理會話,請選擇該選項。這些是「無語言」約束會話,這意味着您可以在該會話中執行的唯一操作是運行Exchange cmdlet。沒有其他語言元素或命令是被允許的。

您需要訪問哪些屬性在序列化/反序列化過程中正在丟失?

+0

感謝這個信息 - 我決定放棄這條道路,因爲它對我想要做的事情來說看起來有點困難。我可能會考慮編寫遠程服務以在本地Lync/Exchange服務器上執行。 –