am o problemă ciudată. Încercarea de a crea un PSobject personalizat cu o buclă foreach pentru proprietățile., Se pare că nu e posibil
În Exemplul de mai jos:
1) fac un Array Gol $object1
2) Elemente este o Matrice conținând Data1,Data2 <–de fapt un csv, 1 șir split cu o virgulă
3) pot crea un nou psobject și bulină proprietăți, cheia este primul element din split și valoarea este cel de-al doilea element din split.
4) după crearea noului obiect, îi spun lui Powershell să-l adauge înapoi în matricea goală.
# ()
# foreach ($item in $items){
# $Object2=New-Object psobject-Property @{
# $data.despică ( ” ,”) = $date.,split(„,”)
# }
# $object1 += $Object2
# }
Acum, pentru partea ciudată, dacă | GM obiect, Ai doar 1 valoarea proprietății, nu totul.
$object1/GM
TypeName: sistem.Managementul.Automatizare.PSCustomObject
nume MemberType definiție
— —- —-
este egal cu metoda bool este egal(sistem.Object obj)
Metoda GetHashCode int GetHashCode()
Metoda GetType tip GetType()
string ToString Metoda ToString()
ARHIVA NoteProperty Sistem.String ARCHIVE = 305.86
Notă: numai 1 proprietate devine setat, Arhiva., Aici merge aceeași operație cu afară logica foreach
$object/GM
TypeName: sistem.Managementul.Automatizare.PSCustomObject
nume MemberType definiție
— —- —-
este egal cu metoda bool este egal(sistem.Object obj)
Metoda GetHashCode int GetHashCode()
Metoda GetType tip GetType()
string ToString Metoda ToString()
ARHIVA NoteProperty Sistem.String ARCHIVE = 305.86
Backup NoteProperty System.String BACKUP = 3941.60
FULL_DBBACKUP NoteProperty sistem.String FULL_DBBACKUP = 75.23
sistemul de migrare NoteProperty.Migrarea șirului=1903.,58
Nota de RECUPERARESISTEM de proprietate.Recuperarea șirului = 443.16
recuperați sistemul NoteProperty.String prelua=14.75
în teorie logica foreach ar trebui să funcționeze. ce este cu adevărat ciudat, logica foreach conține proprietățile, ele nu sunt doar vizibile, $object1.backup – ul va returna o valoare, dar după cum puteți vedea în | GM, nu este vizibil. Poate cineva să explice?