我正在使用c#執行PowerShell cmdlet並解析cmdlet結果(集合[]。屬性[ 「PropertyName」] .value)來獲取所需的值。如何獲取包含反序列化對象列表(多值屬性)的Cmdlet結果的屬性(執行c#中的powershell cmdlet)
但是其中一些結果包含反序列化對象的列表。但PowerShell只是簡單地將它們轉換爲對象的ArrayList,我無法獲得它們的所有屬性。
例如:Exchange命令行管理程序的Get-MailboxDatabase cmdlet返回Exchange服務器(集合)上的mailboxdatabase列表。我可以從PSObject.Properties [「PropertyName」]。Value中獲取名稱,服務器等屬性。
它還包含數據庫副本的列表(類似下面)
類MailboxDatabase {DatabaseCopy [] DatabaseCopies; }
PSObject.Properties [「DatabaseCopies」]。Value只不過是對象的一個arrayList。
但所有的DatabaseCopy屬性都沒有反序列化(或者 - 我不知道如何獲取它們)。
我只能看到Name(從ArrayList列表中的DatabaseCopy的tostring)。
任何人都可以幫助我如何獲得多值結果的所有反序列化屬性?
有關詳細信息,你可以看看:How to get DatabaseCopies from MailboxDatabase programmatically in C# (wrapped ExchangeMangementShell cmdlets in c#)?
問候, 夢想家
但DatabaseCopy是一個可序列化的類。例如:它的定義爲[Serializable] public class DatabaseCopy:ADConfigurationObject,IActivationPreferenceSettable,IComparable { //屬性 public int ActivationPreference {get;內部設置; } internal int ActivationPreferenceInternal {get;組; } public string DatabaseName {get; } public string HostServerName {get; } public EnhancedTimeSpan ReplayLagTime {get;組; } [參數(必填= false)] public EnhancedTimeSpan TruncationLagTime {get;組; } } –
Dreamer