Select-Object
Seleziona oggetti o proprietà di oggetti.
Sintassi
DefaultParameter (impostazione predefinita).
Select-Object
[[-Property] <Object[]>]
[-InputObject <PSObject>]
[-ExcludeProperty <String[]>]
[-ExpandProperty <String>]
[-Unique]
[-CaseInsensitive]
[-Last <Int32>]
[-First <Int32>]
[-Skip <Int32>]
[-Wait]
[<CommonParameters>]
SkipLastParameter
Select-Object
[[-Property] <Object[]>]
[-InputObject <PSObject>]
[-ExcludeProperty <String[]>]
[-ExpandProperty <String>]
[-Unique]
[-CaseInsensitive]
[-Skip <Int32>]
[-SkipLast <Int32>]
[<CommonParameters>]
IndexParameter
Select-Object
[-InputObject <PSObject>]
[-Unique]
[-CaseInsensitive]
[-Wait]
[-Index <Int32[]>]
[<CommonParameters>]
SkipIndexParameter
Select-Object
[-InputObject <PSObject>]
[-Unique]
[-CaseInsensitive]
[-SkipIndex <Int32[]>]
[<CommonParameters>]
Descrizione
Il Select-Object cmdlet seleziona le proprietà specificate di un oggetto o di un set di oggetti. Può anche selezionare oggetti univoci, un numero specificato di oggetti o oggetti in una posizione specificata in una matrice.
Per selezionare gli oggetti da una raccolta, utilizzare i parametri First, Last, Unique, Skip e Index . Per selezionare le proprietà dell'oggetto, utilizzare il parametro Property . Quando si selezionano le proprietà, Select-Object vengono restituiti nuovi oggetti con solo le proprietà specificate.
A partire da Windows PowerShell 3.0, Select-Object include una funzionalità di ottimizzazione che impedisce ai comandi di creare ed elaborare oggetti non usati.
Quando si usano Select-Object con i parametri First o Index in una pipeline di comandi, PowerShell arresta il comando che genera gli oggetti non appena viene raggiunto il numero selezionato di oggetti. Per disattivare questo comportamento di ottimizzazione, utilizzare il parametro Wait .
Esempio
Esempio 1: Selezionare gli oggetti per proprietà
In questo esempio vengono creati oggetti con proprietà Name, Id e Working Set (WS) degli oggetti processo.
Get-Process | Select-Object -Property ProcessName, Id, WS
Esempio 2: Selezionare gli oggetti per proprietà e formattare i risultati
In questo esempio vengono recuperate informazioni sui moduli utilizzati dai processi nel computer. Utilizza Get-Process il cmdlet per ottenere il processo nel computer.
Utilizza il Select-Object cmdlet per restituire una matrice di [System.Diagnostics.ProcessModule] istanze come contenuto nella proprietà Modules di ogni System.Diagnostics.Process istanza restituita da Get-Process.
Il parametro Property del Select-Object cmdlet seleziona i nomi dei processi. In questo modo viene aggiunta una ProcessNameproprietà NoteProperty a ogni [System.Diagnostics.ProcessModule] istanza e viene popolata con il valore della proprietà ProcessName del processo corrente.
Infine, Format-List il cmdlet viene usato per visualizzare il nome e i moduli di ogni processo in un elenco.
Get-Process Explorer |
Select-Object -Property ProcessName -ExpandProperty Modules |
Format-List
ProcessName : explorer
ModuleName : explorer.exe
FileName : C:\WINDOWS\explorer.exe
BaseAddress : 140697278152704
ModuleMemorySize : 3919872
EntryPointAddress : 140697278841168
FileVersionInfo : File: C:\WINDOWS\explorer.exe
InternalName: explorer
OriginalFilename: EXPLORER.EXE.MUI
FileVersion: 10.0.17134.1 (WinBuild.160101.0800)
FileDescription: Windows Explorer
Product: Microsoft Windows Operating System
ProductVersion: 10.0.17134.1
...
Esempio 3: Selezionare i processi con la maggior quantità di memoria
Questo esempio ottiene i cinque processi che usano la maggior parte della memoria. Il Get-Process cmdlet ottiene i processi nel computer. Il Sort-Object cmdlet ordina i processi in base all'utilizzo della memoria (working set) e seleziona Select-Object solo gli ultimi cinque membri della matrice di oggetti risultante.
Il parametro Wait non è obbligatorio nei comandi che includono il Sort-Object cmdlet perché Sort-Object elabora tutti gli oggetti e quindi restituisce una raccolta. L'ottimizzazione Select-Object è disponibile solo per i comandi che restituiscono oggetti singolarmente durante l'elaborazione.
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
Esempio 4: Selezionare caratteri univoci da una matrice
In questo esempio viene usato il parametro Unique di Select-Object per ottenere caratteri univoci da una matrice di caratteri.
"a","b","c","a","A","a" | Select-Object -Unique
a
b
c
A
Esempio 5: Uso di '-Unique' con altri parametri
I valori dei parametri Unique filtrano i valori dopo l'applicazione di altri Select-Object parametri. Ad esempio, se si usa il parametro First per selezionare il primo numero di elementi in una matrice, Unique viene applicato solo ai valori selezionati e non all'intera matrice.
"a","a","b","c" | Select-Object -First 2 -Unique
a
In questo esempio , first selects "a","a" as the first 2 items in the array.
Univoco viene applicato a "a","a" e restituisce a come valore univoco.
Esempio 6: Selezionare stringhe univoche usando il parametro '-CaseInsensitive'
In questo esempio vengono usati confronti senza distinzione tra maiuscole e minuscole per ottenere stringhe univoche da una matrice di stringhe.
"aa", "Aa", "Bb", "bb" | Select-Object -Unique -CaseInsensitive
aa
Bb
Esempio 7: Selezionare gli eventi più recenti e meno recenti nel registro eventi
Questo esempio ottiene i primi eventi (più recenti) e gli ultimi (meno recenti) nel registro eventi di Windows PowerShell.
Get-WinEvent ottiene tutti gli eventi nel log di Windows PowerShell e li salva nella $a variabile.
$a Viene quindi inviata tramite pipe al Select-Object cmdlet . Il Select-Object comando utilizza il parametro Index per selezionare gli eventi dalla matrice di eventi nella $a variabile. L'indice del primo evento è 0. L'indice dell'ultimo evento è il numero di elementi in $a meno 1.
$a = Get-WinEvent -LogName "Windows PowerShell"
$a | Select-Object -Index 0, ($a.Count - 1)
Esempio 8: Selezionare tutto ma il primo oggetto
In questo esempio viene creata una nuova sessione PSSession in ognuno dei computer elencati nei file Servers.txt, ad eccezione del primo.
Select-Object seleziona tutto ma il primo computer in un elenco di nomi di computer. L'elenco di computer risultante viene impostato come valore del parametro ComputerName del New-PSSession cmdlet.
New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1)
Esempio 9: Rinominare i file e selezionare diversi da rivedere
In questo esempio viene aggiunto un suffisso "-ro" ai nomi di base dei file di testo con l'attributo di sola lettura e quindi vengono visualizzati i primi cinque file in modo che l'utente possa visualizzare un esempio dell'effetto.
Get-ChildItem usa il parametro dinamico ReadOnly per ottenere file di sola lettura. I file risultanti vengono inviati tramite pipe al Rename-Item cmdlet , che rinomina il file. Usa il parametro PassThru di Rename-Item per inviare i file rinominati al cmdlet , che seleziona il primo 5 per la Select-Object visualizzazione.
Il parametro Wait di impedisce a PowerShell di arrestare il Select-Object cmdlet dopo aver ottenuto i primi cinque file di testo di Get-ChildItem sola lettura. Senza questo parametro, verranno rinominati solo i primi cinque file di sola lettura.
Get-ChildItem *.txt -ReadOnly |
Rename-Item -NewName {$_.BaseName + "-ro.txt"} -PassThru |
Select-Object -First 5 -Wait
Esempio 10: Visualizzare le complessità del parametro -ExpandProperty
Questo esempio mostra le complessità del parametro ExpandProperty .
Si noti che l'output generato era una matrice di [System.Int32] istanze. Le istanze sono conformi alle regole di formattazione standard della visualizzazione di output. Questo vale per tutte le proprietà espanse . Se gli oggetti restituiti hanno un formato standard specifico, la proprietà espansa potrebbe non essere visibile.
# Create a custom object to use for the Select-Object example.
$object = [pscustomobject]@{Name="CustomObject";List=@(1,2,3,4,5)}
# Use the ExpandProperty parameter to Expand the property.
$object | Select-Object -ExpandProperty List -Property Name
1
2
3
4
5
# The output did not contain the Name property, but it was added successfully.
# Use Get-Member to confirm the Name property was added and populated.
$object | Select-Object -ExpandProperty List -Property Name | Get-Member -MemberType Properties
TypeName: System.Int32
Name MemberType Definition
---- ---------- ----------
Name NoteProperty string Name=CustomObject
Esempio 11: Creare proprietà personalizzate per gli oggetti
Nell'esempio seguente viene illustrato l'utilizzo Select-Object per aggiungere una proprietà personalizzata a qualsiasi oggetto.
Quando si specifica un nome di proprietà che non esiste, Select-Object crea tale proprietà come NotaProperty per ogni oggetto passato.
$customObject = 1 | Select-Object -Property MyCustomProperty
$customObject.MyCustomProperty = "New Custom Property"
$customObject
MyCustomProperty
----------------
New Custom Property
Esempio 12: Creare proprietà calcolate per ogni InputObject
In questo esempio viene illustrato l'uso Select-Object per aggiungere proprietà calcolate all'input. Il passaggio di un oggetto ScriptBlock al parametro Property determina Select-Object la valutazione dell'espressione su ogni oggetto passato e l'aggiunta dei risultati all'output. All'interno di ScriptBlock è possibile usare la $_ variabile per fare riferimento all'oggetto corrente nella pipeline.
Per impostazione predefinita, Select-Object usa la stringa ScriptBlock come nome della proprietà. Utilizzando un oggetto Hashtable, è possibile etichettare l'output di ScriptBlock come proprietà personalizzata aggiunta a ogni oggetto. È possibile aggiungere più proprietà calcolate a ogni oggetto passato a Select-Object.
# Create a calculated property called $_.StartTime.DayOfWeek
Get-Process | Select-Object -Property ProcessName,{$_.StartTime.DayOfWeek}
ProcessName $_.StartTime.DayOfWeek
---- ----------------------
alg Wednesday
ati2evxx Wednesday
ati2evxx Thursday
...
# Add a custom property to calculate the size in KiloBytes of each FileInfo
# object you pass in. Use the pipeline variable to divide each file's length by
# 1 KiloBytes
$size = @{Label="Size(KB)";Expression={$_.Length/1KB}}
# Create an additional calculated property with the number of Days since the
# file was last accessed. You can also shorten the key names to be 'l', and 'e',
# or use Name instead of Label.
$days = @{l="Days";e={((Get-Date) - $_.LastAccessTime).Days}}
# You can also shorten the name of your label key to 'l' and your expression key
# to 'e'.
Get-ChildItem $PSHOME -File | Select-Object Name, $size, $days
Name Size(KB) Days
---- -------- ----
Certificate.format.ps1xml 12.5244140625 223
Diagnostics.Format.ps1xml 4.955078125 223
DotNetTypes.format.ps1xml 134.9833984375 223
Esempio 13: Selezionare chiavi hashtable senza usare le proprietà calcolate
A partire da PowerShell 6, Select-Object supporta la selezione delle chiavi di input della tabella hash come proprietà. Nell'esempio seguente vengono selezionati i weight tasti e name in una tabella hash di input e viene visualizzato l'output.
@{ name = 'a' ; weight = 7 } | Select-Object -Property name, weight
name weight
---- ------
a 7
Esempio 14: ExpandProperty modifica l'oggetto originale
In questo esempio viene illustrato l'effetto collaterale dell'uso del parametro ExpandProperty . Quando si usa ExpandProperty, Select-Object aggiunge le proprietà selezionate all'oggetto originale come membri NoteProperty .
PS> $object = [pscustomobject]@{
name = 'USA'
children = [pscustomobject]@{
name = 'Southwest'
}
}
PS> $object
name children
---- --------
USA @{name=Southwest}
# Use the ExpandProperty parameter to expand the children property
PS> $object | Select-Object @{n="country"; e={$_.name}} -ExpandProperty children
name country
---- -------
Southwest USA
# The original object has been altered
PS> $object
name children
---- --------
USA @{name=Southwest; country=USA}
Come si può notare, la proprietà country è stata aggiunta all'oggetto children dopo aver utilizzato il parametro ExpandProperty .
Esempio 15: Creare un nuovo oggetto con proprietà espanse senza modificare l'oggetto di input
È possibile evitare l'effetto collaterale dell'utilizzo del parametro ExpandProperty creando un nuovo oggetto e copiando le proprietà dall'oggetto di input.
PS> $object = [pscustomobject]@{
name = 'USA'
children = [pscustomobject]@{
name = 'Southwest'
}
}
PS> $object
name children
---- --------
USA @{name=Southwest}
# Create a new object with selected properties
PS> $newObject = [pscustomobject]@{
country = $object.name
children = $object.children
}
PS> $newObject
country children
------- --------
USA @{name=Southwest}
# $object remains unchanged
PS> $object
name children
---- --------
USA @{name=Southwest}
Esempio 16: Usare caratteri jolly con il parametro -ExpandProperty
In questo esempio viene illustrato l'uso di caratteri jolly con il parametro ExpandProperty . Il carattere jolly deve essere risolto in un singolo nome di proprietà. Se il carattere jolly viene risolto in più di un nome di proprietà, Select-Object restituisce un errore.
# Create a custom object.
$object = [pscustomobject]@{
Label = "MyObject"
Names = @("John","Jane","Joe")
Numbers = @(1,2,3,4,5)
}
# Try to expand multiple properties using a wildcard.
$object | Select-Object -ExpandProperty N*
Select-Object: Multiple properties cannot be expanded.
# Use a wildcard that resolves to a single property.
$object | Select-Object -ExpandProperty Na*
John
Jane
Joe
Parametri
-CaseInsensitive
Per impostazione predefinita, quando si usa il parametro Unique , il cmdlet usa confronti con distinzione tra maiuscole e minuscole. Quando si usa questo parametro, il cmdlet usa confronti senza distinzione tra maiuscole e minuscole.
Questo parametro è stato aggiunto in PowerShell 7.4.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-ExcludeProperty
Specifica le proprietà che questo cmdlet esclude dall'operazione. Sono consentiti i metacaratteri.
A partire da PowerShell 6, non è più necessario includere il parametro Property per Il funzionamento di ExcludeProperty .
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
DefaultParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
SkipLastParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-ExpandProperty
Specifica una proprietà da selezionare e indica che è necessario eseguire un tentativo di espansione della proprietà. Se la pipeline dell'oggetto di input non ha la proprietà denominata, Select-Object restituisce un errore. Questo parametro supporta i caratteri jolly. Tuttavia, il carattere jolly deve essere risolto in un singolo nome di proprietà. Se il carattere jolly viene risolto in più di un nome di proprietà, Select-Object restituisce un errore.
Quando si usa ExpandProperty, Select-Object tenta di espandere la proprietà specificata per ogni
- Se la proprietà specificata è una matrice, ogni valore della matrice viene incluso nell'output.
- Se la proprietà specificata è un oggetto, le proprietà degli oggetti vengono espanse per ogni InputObject
In entrambi i casi, il tipo degli oggetti di output corrisponde al tipo della proprietà espansa. Quando si usa ExpandProperty, è presente un effetto collaterale. Aggiunge Select-Object le proprietà selezionate all'oggetto originale come membri NoteProperty .
Se viene specificato il parametro Property , Select-Object tenta di aggiungere ogni proprietà selezionata come NotaProperty a ogni oggetto restituito.
Avvertimento
Se viene visualizzato un errore che indica che non è possibile elaborare una proprietà perché esiste già una proprietà con tale nome, tenere presente quanto segue. Si noti che quando si usa ExpandProperty, Select-Object non può sostituire una proprietà esistente. Questo significa che:
- Se l'oggetto espanso ha una proprietà con lo stesso nome, il comando restituisce un errore.
- Se l'oggetto Selected ha una proprietà con lo stesso nome della proprietà di un oggetto Expanded , il comando restituisce un errore.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
DefaultParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
SkipLastParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-First
Specifica il numero di oggetti da selezionare dall'inizio di una matrice di oggetti di input.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
DefaultParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Index
Seleziona gli oggetti da una matrice in base ai relativi valori di indice. Immettere gli indici in un elenco delimitato da virgole. Gli indici in una matrice iniziano con 0, dove 0 rappresenta il primo valore e (n-1) rappresenta l'ultimo valore.
Proprietà dei parametri
| Tipo: | Int32[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
IndexParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-InputObject
Specifica gli oggetti da inviare al cmdlet tramite la pipeline. Questo parametro consente di reindirizzare gli oggetti a Select-Object.
Quando si passano oggetti al parametro InputObject , invece di usare la pipeline, Select-Objectl'oggetto InputObject viene considerato come un singolo oggetto, anche se il valore è una raccolta. È consigliabile utilizzare la pipeline quando si passano raccolte a Select-Object.
Proprietà dei parametri
| Tipo: | PSObject |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Last
Specifica il numero di oggetti da selezionare dalla fine di una matrice di oggetti di input.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
DefaultParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Property
Specifica le proprietà da selezionare. Queste proprietà vengono aggiunte come membri NoteProperty agli oggetti di output. Sono consentiti i metacaratteri. Se l'oggetto di input non ha la proprietà denominata, il valore della nuova proprietà NoteProperty viene impostato su $null.
Il valore del parametro Property
Le chiavi valide sono:
- Nome (o Etichetta) -
<string> - Espressione -
<string>o<script block>
Per altre informazioni, vedere about_Calculated_Properties.
Proprietà dei parametri
| Tipo: | Object[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
DefaultParameter
| Posizione: | 0 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
SkipLastParameter
| Posizione: | 0 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Skip
Ignora (non seleziona) il numero specificato di elementi. Per impostazione predefinita, il parametro Skip conta dall'inizio della raccolta di oggetti. Se il comando usa il parametro Last , viene conteggiato dalla fine della raccolta.
A differenza del parametro Index , che inizia il conteggio da 0, il parametro Skip inizia da 1.
A partire da PowerShell 7.4, è possibile usare il parametro Skip con il parametro SkipLast per ignorare gli elementi dall'inizio e dalla fine della raccolta.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
DefaultParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-SkipIndex
Ignora (non seleziona) gli oggetti di una matrice in base ai relativi valori di indice. Immettere gli indici in un elenco delimitato da virgole. Gli indici in una matrice iniziano con 0, dove 0 rappresenta il primo valore e (n-1) rappresenta l'ultimo valore.
Questo parametro è stato introdotto in Windows PowerShell 6.0.
Proprietà dei parametri
| Tipo: | Int32[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SkipIndexParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-SkipLast
Ignora (non seleziona) il numero specificato di elementi dalla fine dell'elenco o della matrice. Funziona allo stesso modo dell'utilizzo di Skip insieme al parametro Last .
A differenza del parametro Index , che inizia il conteggio da 0, il parametro SkipLast inizia da 1.
A partire da PowerShell 7.4, è possibile usare il parametro Skip con il parametro SkipLast per ignorare gli elementi dall'inizio e dalla fine della raccolta.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SkipLastParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Unique
Specifica che se un subset degli oggetti di input ha proprietà e valori identici, deve essere selezionato solo un singolo membro del subset.
Seleziona i valori univocidopo l'applicazione di altri parametri di filtro.
In questo parametro viene fatta distinzione tra maiuscole e minuscole. Di conseguenza, le stringhe che differiscono solo per le maiuscole e minuscole di caratteri sono considerate univoche. Aggiungere il parametro CaseInsensitive per eseguire confronti senza distinzione tra maiuscole e minuscole.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Wait
Indica che il cmdlet disattiva l'ottimizzazione. PowerShell esegue i comandi nell'ordine in cui vengono visualizzati nella pipeline dei comandi e consente di generare tutti gli oggetti. Per impostazione predefinita, se si include un Select-Object comando con i parametri First o Index in una pipeline di comandi, PowerShell arresta il comando che genera gli oggetti non appena viene generato il numero selezionato di oggetti.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
DefaultParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
IndexParameter
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
PSObject
È possibile inviare tramite pipe oggetti a questo cmdlet.
Output
PSObject
Questo cmdlet restituisce gli oggetti di input con solo le proprietà selezionate.
Note
PowerShell include gli alias seguenti per Select-Object:
- Tutte le piattaforme:
select
La funzionalità di ottimizzazione di Select-Object è disponibile solo per i comandi che scrivono oggetti nella pipeline durante l'elaborazione. Non ha alcun effetto sui comandi che memorizzano nel buffer gli oggetti elaborati e li scrivono come raccolta. La scrittura immediata di oggetti è una procedura consigliata per la progettazione dei cmdlet. Per altre informazioni, vedere Scrivere record singoli nella pipeline in Linee guida per lo sviluppo fortemente incoraggiate.