Sto attraversando una serie di oggetti e posso visualizzare gli oggetti bene.Accesso ai valori delle proprietà dell'oggetto in PowerShell
$obj
visualizza ogni oggetto nel mio ciclo foreach fine. Sto provando ad accedere ai campi dell'oggetto e ai loro valori. Questo codice funziona anche bene:
$obj.psobject.properties
Per vedere solo i nomi dei campi di ciascun oggetto, faccio questo:
$obj.psobject.properties | % {$_.name}
che funziona anche bene.
Quando provo ad accedere ai valori di coloro campo in questo modo:
$obj.psobject.properties | % {$obj.$_.name}
nulla viene restituito o visualizzate.
Questo è fatto a scopo diagnostico per vedere se posso accedere ai valori dei campi. Il dilemma principale è che non posso accedere al valore di un campo specifico. Cioè
$obj."some field"
non restituisce un valore anche se ho confermato che "un campo" ha un valore.
Questo mi ha sconcertato. Qualcuno sa cosa sto sbagliando?
+1. Sospettavo qualcosa di ovvio come questo, quindi sono andato avanti per controllare, ma hai postato la tua risposta quando sono tornato. Come nota a margine di OP - potresti aver scoperto la proprietà 'Value' in questo modo:' $ obj.psobject.properties | gm'. – Neolisk
L'ho fatto a scopo diagnostico per vedere se potevo accedere ai valori dei campi. Tuttavia quando provo ad accedere al valore di un certo campo che conosco esiste, come $ obj. "Campo certo", non viene restituito nulla –