2016-06-10 37 views
1

Ich möchte ein benutzerdefiniertes Objekt mit Eigenschaften wie folgt zu einem Powershell-Array hinzufügen. Ich habe verschiedene Optionen ausprobiert, bin aber nicht in der Lage, die korrekte Syntax eines solchen Objektzusatzes zu einem Array zu erhalten. Ich benutze Powershell V2. Bitte helfen Sie.Hinzufügen eines benutzerdefinierten Objekts zu einem Array in Powershell

PS C:\Windows\system32> $executemultiplerequest | Get-member 


    TypeName: Microsoft.Xrm.Sdk.Messages.ExecuteMultipleRequest 

Name   MemberType   Definition 
----   ----------   ---------- 
Equals  Method    bool Equals(System.Object obj) 
GetHashCode Method    int GetHashCode() 
GetType  Method    type GetType() 
ToString  Method    string ToString() 
Item   ParameterizedProperty System.Object Item(string parameterName) {get;set;} 
ExtensionData Property    System.Runtime.Serialization.ExtensionDataObject ExtensionData {get;set;} 
Parameters Property    Microsoft.Xrm.Sdk.ParameterCollection Parameters {get;set;} 
RequestId  Property    System.Nullable`1[[System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, Publ... 
RequestName Property    System.String RequestName {get;set;} 
Requests  Property    Microsoft.Xrm.Sdk.OrganizationRequestCollection Requests {get;set;} 
Settings  Property    Microsoft.Xrm.Sdk.ExecuteMultipleSettings Settings {get;set;} 

Addiert man die Optionen, die ich versucht habe:

Hier werden die Proben, die ich mit versucht:

$item = New-Object System.Object 
$item | Add-Member -MemberType Method -Name Equals $executemultiplerequest.Equals -MemberType Property $executemultiplerequest.ExtensionData 
$array += item 

erhielt ich einen Fehler, noch bevor ich auf Speicher in ein Array ging. Der Fehler wurde auf der Add-Member Leitung empfangen als:

Add-Member : Cannot add a member with type "Method". Specify a different type for the MemberTypes parameter. 
+1

_I_ _have_ _tried_ _various_ _options_ -> Was hast du probiert? Kannst du uns etwas Code zeigen? –

+0

Hier sind die Beispiele, die ich versucht habe mit: \t \t $ item = New-Objekt System.Object $ item | Add-Member -MemberType-Methode -Name Entspricht $ executemultiplerequest.Equals $ array + = Element $ item = New-Objekt System.Object $ item | Add-Member -MemberType-Eigenschaft $ executemultiplerequest.ExtensionData $ array + = item –

+0

Können Sie bitte Ihre Frage bearbeiten und hinzufügen? Es ist schwer, in den Kommentaren zu lesen;) –

Antwort

1

ich bin nicht sicher über die Typen, die Sie verwenden, aber wenn Sie

wollen
$item = New-Object psobject 
$item | Add-Member -MemberType NoteProperty -Name RequestName -Value 'some string here' 
$item | Add-Member -MemberType ScriptMethod -Name Multiply -Value {param($x,$y);$x * $y } 
$item | Add-Member -MemberType ScriptProperty -Name RequestName1 -Value { Get-Service -Name BITS } 

Lesen Sie mehr über Add-memberhere

Verwandte Themen