mam dziwny problem. Próba utworzenia niestandardowego obiektu PSobject z pętlą foreach dla właściwości., Wygląda na to, że nie jest to możliwe
w poniższym przykładzie:
1) robię pustą tablicę $object1
2) Items jest tablicą zawierającą Data1,Data2 <–w zasadzie csv, 1 string split z przecinkiem
3) tworzę nowy psobject i splat właściwości, klucz jest pierwszym elementem ze Splitu, a wartość jest drugim elementem ze Splitu.
4 )Po utworzeniu nowego obiektu, mówię Powershell dodać go z powrotem do pustej tablicy.
# ()
# foreach ($item in $items) {
# $Object2=New-Object psobject-Property @{
# $data.split ( ” ,”) = $data.,split(„,”)
# }
# $object1 += $Object2
# }
teraz dla dziwnej części, jeśli | GM obiektu, masz tylko 1 wartość właściwości, nie wszystko.
$object1 / GM
TypeName: System.Zarządzanie.Automatyka.PSCustomObject
Name MemberType Definition
— —- —-
Equals metoda bool Equals (System.Obiekt obj)
metoda GetHashCode int GetHashCode()
metoda GetType Typ GetType()
metoda ToString string ToString()
archiwum NoteProperty System.String ARCHIVE=305.86
UWAGA: TYLKO 1 właściwość zostanie ustawiona, Archive., Tutaj wykonywana jest ta sama operacja z logiką foreach<| p>
$object/GM
TypeName: System.Zarządzanie.Automatyka.PSCustomObject
Name MemberType Definition
— —- —-
Equals metoda bool Equals (System.Obiekt obj)
metoda GetHashCode int GetHashCode()
metoda GetType Typ GetType()
metoda ToString string ToString()
archiwum NoteProperty System.String ARCHIVE=305.86
BACKUP NoteProperty System.String BACKUP = 3941.60
FULL_DBBACKUP NoteProperty System.String FULL_DBBACKUP=75.23
MIGRATION NoteProperty System.String MIGRATION=1903.,58
System notowań rekultywacyjnych.String RECLAMATION = 443.16
RETRIEVE NoteProperty System.String RETRIEVE=14.75
w teorii logika foreach powinna działać. co naprawdę dziwne, logika foreach zawiera właściwości, po prostu nie są widoczne, $ object1.kopia zapasowa zwróci wartość, ale jak widać w | GM, jej po prostu nie widać. Czy ktoś może to wyjaśnić?