Seleziona le proprietà specificate di un oggetto o di un set di oggetti. Può inoltre essere utilizzato per selezionare oggetti univoci da una matrice di oggetti o un numero specificato di oggetti dall'inizio o dalla fine di una matrice di oggetti.

Sintassi

Select-Object [[-Property] <Object[]>] [-ExcludeProperty <string[]>] [-ExpandProperty <string>] [-First <int>] [-InputObject <psobject>] [-Last <int>] [-Skip <int>] [-Unique] [<CommonParameters>]

Select-Object [-Index <Int32[]>] [-InputObject <psobject>] [-Unique] [<CommonParameters>]

Descrizione

Il cmdlet Select-Object ottiene solo le proprietà specificate di un oggetto o un set di oggetti. Può inoltre essere utilizzato per selezionare oggetti univoci da una matrice di oggetti o un numero specificato di oggetti dall'inizio o dalla fine di una matrice di oggetti.

Se si utilizza Select-Object per selezionare proprietà specificate, il valore di tali proprietà verrà copiato dagli oggetti di input e verranno creati nuovi oggetti caratterizzati dalle proprietà specificate e dai valori copiati.

Utilizzare il parametro Property per specificare le proprietà da selezionare. In alternativa, utilizzare i parametri First, Last, Unique, Skip e Index per selezionare oggetti specifici da una matrice di oggetti di input. Per opzioni più specifiche di filtro degli oggetti, utilizzare il cmdlet Where-Object.

Parametri

-ExcludeProperty <string[]>

Rimuove le proprietà specificate dalla selezione. È consentito l'utilizzo di caratteri jolly. Questo parametro è valido solo quando il comando include anche il parametro Property.

Il valore del parametro Property può essere una proprietà calcolata, ovvero una tabella hash che specifica un nome e calcola un valore per la visualizzazione della proprietà. Le chiavi valide sono le seguenti:

-- Name o Label <stringa>

-- Expression <stringa> o <blocco di script>

Per ulteriori informazioni, vedere gli esempi.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

true

-ExpandProperty <string>

Specifica una proprietà da selezionare e indica che è necessario effettuare un tentativo di espansione della proprietà. Nel nome della proprietà sono consentiti caratteri jolly.

Ad esempio, se la proprietà specificata è una matrice, ogni valore della matrice viene incluso nell'output. Se la proprietà contiene un oggetto, le proprietà di tale oggetto vengono visualizzate nell'output.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

true

-First <int>

Specifica il numero di oggetti da selezionare dall'inizio di una matrice di oggetti di input.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Index <Int32[]>

Seleziona oggetti da una matrice in base ai relativi valori di indice. Immettere gli indici in un elenco separato da virgole.

Gli indici di una matrice iniziano da 0, che rappresenta il primo valore e (n-1) rappresenta l'ultimo valore.

Obbligatorio?

false

Posizione?

named

Valore predefinito

nessuno

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-InputObject <psobject>

Specifica gli oggetti da inviare al cmdlet attraverso la pipeline. Questo parametro consente di reindirizzare oggetti a Select-Object.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByValue)

Accettare caratteri jolly?

false

-Last <int>

Specifica il numero di oggetti da selezionare dalla fine di una matrice di oggetti di input.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Property <Object[]>

Specifica le proprietà da selezionare. È consentito l'utilizzo di caratteri jolly.

Il valore del parametro Property può essere una nuova proprietà calcolata. Per creare una proprietà calcolata, utilizzare una tabella hash. Le chiavi valide sono le seguenti:

-- Name (o Label) <stringa>

-- Expression <stringa> o <blocco di script>

Obbligatorio?

false

Posizione?

1

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

true

-Skip <int>

Ignora (non seleziona) il numero specificato di elementi. Per impostazione predefinita, il parametro Skip esegue il conteggio dall'inizio della matrice o dell'elenco di oggetti, ma se viene utilizzato il parametro Last, il conteggio viene eseguito dalla fine dell'elenco o della matrice.

A differenza del parametro Index che avvia il conteggio da 0, il parametro Skip lo avvia da 1.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Unique

Specifica che se un subset di oggetti di input è caratterizzato da proprietà e valori identici, verrà selezionato un unico membro del subset.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.Management.Automation.PSObject

È possibile reindirizzare qualsiasi oggetto a Select-Object.

Output

System.Management.Automation.PSObject

Note

È inoltre possibile fare riferimento a Select-Object tramite il relativo alias predefinito "select". Per ulteriori informazioni, vedere about_Aliases.

Esempio 1

C:\PS>get-process | select-object ProcessName,Id,WS

Descrizione
-----------
Tramite questo comando verrà visualizzato un elenco di processi di cui verranno visualizzate solo le proprietà relative al nome, all'ID e al working set (WS).






Esempio 2

C:\PS>get-process | select-object processname -expandproperty modules |
format-list

ProcessName       : 00THotkey
Size              : 256
Company           : TOSHIBA Corporation
FileVersion       : 1, 0, 0, 27
ProductVersion    : 6, 2, 0, 0
Description       : THotkey
Product           : TOSHIBA THotkey
ModuleName        : 00THotkey.exe
FileName          : C:\WINDOWS\system32\00THotkey.exe
BaseAddress       : 4194304

Descrizione
-----------
Tramite questo comando verranno visualizzate informazioni su tutti moduli utilizzati dai processi in esecuzione in un computer. Per visualizzare i dettagli inclusi nella proprietà relativa ai moduli verrà utilizzato il parametro ExpandProperty.






Esempio 3

C:\PS>get-process | sort-object -property WS | select-object -Last 5

Handles  NPM(K)    PM(K)      WS(K) VS(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
   2866     320    33432      45764   203   222.41   1292 svchost
    577      17    23676      50516   265    50.58   4388 WINWORD
    826      11    75448      76712   188    19.77   3780 Ps
   1367      14    73152      88736   216    61.69    676 Ps
   1612      44    66080      92780   380   900.59   6132 INFOPATH

Descrizione
-----------
Tramite questo comando verranno visualizzati i cinque processi in cui viene utilizzata la maggior parte della memoria. Verranno utilizzati il cmdlet Sort-Object per ordinare i processi in base all'utilizzo della memoria (working set) e il cmdlet Select-Object per selezionare solo gli ultimi cinque membri della matrice di oggetti risultante.






Esempio 4

C:\PS>get-process | select-object -property ProcessName,@{Name="Start Day"; Expression = {$_.StartTime.DayOfWeek}}

ProcessName  StartDay
----         --------
alg          Wednesday
ati2evxx     Wednesday
ati2evxx     Thursday
...

Descrizione
-----------
Tramite questo comando verranno visualizzati il nome e il giorno di avvio dei processi in esecuzione in un computer. 

I valori del parametro Property sono ProcessName e una proprietà calcolata denominata "Start Day". La proprietà "Start Day" viene aggiunta tramite una tabella hash con le chiavi Name ed Expression.






Esempio 5

C:\PS>"a","b","c","a","a","a" | select-object -unique

a
b
c

Descrizione
-----------
Tramite questo comando verranno visualizzati i caratteri univoci di una matrice di caratteri.






Esempio 6

C:\PS>$a = get-eventlog -log "Windows PowerShell" 

C:\PS> $a | select-object -index 0, ($a.count - 1)

Descrizione
-----------
Questi comandi ottengono il primo (il più recente) e l'ultimo (il meno recente) evento nel registro eventi di Windows Powershell. 

Nel primo comando viene utilizzato il cmdlet Get-EventLog per ottenere tutti gli eventi nel registro di Windows Powershell. Gli oggetti vengono salvati nella variabile $a.

Nel secondo comando viene utilizzato un operatore pipeline (|) per inviare gli eventi in $a al cmdlet Select-Object. Il comando Select-Object utilizza il parametro Index per selezionare gli elementi in base al numero di indice. L'indice per il primo evento è 0, mentre quello per l'ultimo evento è il numero di elementi in $a meno 1.






Esempio 7

C:\PS>new-pssession -computername (get-content servers.txt | select-object -skip 1)

Descrizione
-----------
Con questo comando viene creata una nuova sessione PSSession in ognuno dei computer elencati nei file Servers.txt, eccetto il primo.

Viene utilizzato il cmdlet Select-Object per selezionare tutti i computer tranne il primo in un elenco di nomi di computer. L'elenco di computer risultante viene impostato come valore del parametro ComputerName del cmdlet New-PSSession.






Vedere anche




Argomenti della Guida