2011-10-11 12 views
5

Come aggiungere Nome NoteProperty per un oggetto? Ho provato:Come aggiungere un nome NoteProperty a un oggetto?

$a = "This", "Is", "a", "cat" 
$a | Add-Member -type NoteProperty -name Name 
$a 

ma questo non sembra funzionare.

Il risultato atteso è:

Name 
---- 
This 
Is 
a 
cat 
+0

leggi questo http://technet.microsoft.com/en-us/library/ff730946.aspx –

+0

Che cosa vuoi ottenere? Qual è il tuo output previsto? – manojlds

+0

Ho modificato la domanda. – jrara

risposta

5

Questa è la risposta alla domanda modificata:

$a = "This", "Is", "a", "cat" 
$a | Select-Object @{Name='Name'; Expression={$_}} 

uscita, come richiesto, è

Name 
---- 
This 
Is 
a 
cat 
4

Ecco un esempio di come prendere il vostro esempio ogni valore in $ a, convertirlo in un PSObject con proprietà di valore un nome e così come con l'Add- Cmdlet membro. Il `è per la continuazione della linea. Poiché il membro aggiuntivo viene chiamato in una pipeline, la proprietà -passThru è stata utilizzata per passare l'oggetto con il nuovo membro.

$a | %{ new-object psobject -property @{Name="String"; Value=$_}} ` 
    | %{ Add-Member -inputObject $_ -passThru -type NoteProperty -name Note -Value Value} 

Ho collegato l'uscita a | ft -auto per restringere le colonne per adattarsi bene qui.

Value Name Note 
----- ---- ---- 
This String Value 
Is String Value 
a  String Value 
cat String Value 

Un altro modo di rispondere alla domanda aggiornamento: $a | %{new-object psobject -p @{Name=$_} partite di output attesi:

Name 
---- 
This 
Is 
a 
cat 
Problemi correlati