Select-Object
オブジェクトまたはオブジェクトのプロパティを選択します。
構文
DefaultParameter (既定)
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>]
説明
Select-Object
コマンドレットは、オブジェクトまたはオブジェクトのセットの指定されたプロパティを選択します。 また、一意のオブジェクト、指定した数のオブジェクト、または配列内の指定した位置にあるオブジェクトを選択することもできます。
コレクションからオブジェクトを選択するには、Select-Object
は、指定したプロパティのみを持つ新しいオブジェクトを返します。
Windows PowerShell 3.0 以降では、 Select-Object
には、使用されていないオブジェクトをコマンドで作成および処理できないようにする最適化機能が含まれています。
コマンド パイプラインで First パラメーターまたは Index パラメーターでSelect-Object
を使用すると、PowerShell は、選択した数のオブジェクトに達するとすぐにオブジェクトを生成するコマンドを停止します。 この最適化動作を無効にするには、Wait パラメーターを使用します。
例
例 1: プロパティでオブジェクトを選択する
この例では、プロセス オブジェクトの Name、 ID、およびワーキング セット (WS) プロパティを持つオブジェクトを作成します。
Get-Process | Select-Object -Property ProcessName, Id, WS
例 2: プロパティでオブジェクトを選択し、結果を書式設定する
この例では、コンピューター上のプロセスによって使用されるモジュールに関する情報を取得します。
Get-Process
コマンドレットを使用して、コンピューター上のプロセスを取得します。
Select-Object
コマンドレットを使用して、[System.Diagnostics.ProcessModule]
によって出力される各 インスタンスの System.Diagnostics.Process
プロパティに含まれる Get-Process
インスタンスの配列を出力します。
Select-Object
コマンドレットの Property パラメーターは、プロセス名を選択します。 これにより、すべての[System.Diagnostics.ProcessModule]
インスタンスに ProcessName
NoteProperty が追加され、現在のプロセスの ProcessName プロパティの値が設定されます。
最後に、 Format-List
コマンドレットを使用して、各プロセスの名前とモジュールを一覧に表示します。
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
...
例 3: メモリが最も多いプロセスを選択する
この例では、最も多くのメモリを使用している 5 つのプロセスを取得します。
Get-Process
コマンドレットは、コンピューター上のプロセスを取得します。
Sort-Object
コマンドレットは、メモリ (ワーキング セット) の使用状況に従ってプロセスを並べ替え、Select-Object
コマンドレットは、結果のオブジェクト配列の最後の 5 つのメンバーのみを選択します。
wait パラメーターは、すべてのオブジェクトを処理してからコレクションを返Sort-Object
ので、Sort-Object
コマンドレットを含むコマンドでは必要ありません。
Select-Object
最適化は、処理時にオブジェクトを個別に返すコマンドでのみ使用できます。
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
例 4: 配列から一意の文字を選択する
この例では、Select-Object
の Unique パラメーターを使用して、文字の配列から一意の文字を取得します。
"a","b","c","a","A","a" | Select-Object -Unique
a
b
c
A
例 5: 他のパラメーターで '-Unique' を使用する
Unique パラメーターは、他のSelect-Object
パラメーターが適用された後に値をフィルター処理します。 たとえば、 First パラメーターを使用して配列内の項目の最初の数を選択した場合、 Unique は選択した値にのみ適用され、配列全体には適用されません。
"a","a","b","c" | Select-Object -First 2 -Unique
a
この例では、 最初 に配列の最初の 2 つの項目として "a","a"
を選択します。
Unique は "a","a"
に適用され、一意の値として a
を返します。
例 6: '-CaseInsensitive' パラメーターを使用して一意の文字列を選択する
この例では、大文字と小文字を区別しない比較を使用して、文字列の配列から一意の文字列を取得します。
"aa", "Aa", "Bb", "bb" | Select-Object -Unique -CaseInsensitive
aa
Bb
例 7: イベント ログで最新かつ最も古いイベントを選択する
この例では、Windows PowerShell イベント ログの最初の (最新の) イベントと最後の (最も古い) イベントを取得します。
Get-WinEvent
は、Windows PowerShell ログ内のすべてのイベントを取得し、 $a
変数に保存します。
次に、 $a
は、 Select-Object
コマンドレットにパイプ処理されます。
Select-Object
コマンドは、Index パラメーターを使用して、$a
変数内のイベントの配列からイベントを選択します。 最初のイベントのインデックスは 0 です。 最後のイベントのインデックスは、$a
から 1 を引いた項目の数です。
$a = Get-WinEvent -LogName "Windows PowerShell"
$a | Select-Object -Index 0, ($a.Count - 1)
例 8: 最初のオブジェクト以外をすべて選択する
次の使用例は、最初の PSSession を除き、Servers.txt ファイルに一覧表示されている各コンピューターに新しい PSSession を作成します。
Select-Object
は、コンピューター名の一覧で最初のコンピューター以外のすべてを選択します。 結果のコンピューターの一覧は、 コマンドレットの New-PSSession
パラメーターの値として設定されます。
New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1)
例 9: ファイルの名前を変更し、いくつかのファイルを選択して確認する
次の使用例は、読み取り専用属性を持つテキスト ファイルの基本名に "-ro" サフィックスを追加し、ユーザーが効果のサンプルを表示できるように最初の 5 つのファイルを表示します。
Get-ChildItem
では、 ReadOnly 動的パラメーターを使用して読み取り専用ファイルを取得します。 結果のファイルは、 Rename-Item
コマンドレットにパイプされ、ファイルの名前が変更されます。
Rename-Item
の PassThru パラメーターを使用して、名前が変更されたファイルを Select-Object
コマンドレットに送信し、最初の 5 つを表示用に選択します。
の Select-Object
パラメーターを使用すると、最初の 5 つの読み取り専用テキスト ファイルを取得した後に、PowerShell が Get-ChildItem
コマンドレットを停止できなくなります。 このパラメーターを指定しないと、最初の 5 つの読み取り専用ファイルのみが名前が変更されます。
Get-ChildItem *.txt -ReadOnly |
Rename-Item -NewName {$_.BaseName + "-ro.txt"} -PassThru |
Select-Object -First 5 -Wait
例 10: -ExpandProperty パラメーターの複雑さを示す
この例では、 ExpandProperty パラメーターの複雑さを示します。
生成された出力は、[System.Int32]
インスタンスの配列であることに注意してください。 インスタンスは、出力ビューの標準の書式設定規則に準拠しています。 これは、展開された プロパティ
# Create a custom object to use for the Select-Object example.
$object = [pscustomobject]@{Name="CustomObject";Expand=@(1,2,3,4,5)}
# Use the ExpandProperty parameter to Expand the property.
$object | Select-Object -ExpandProperty Expand -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 Expand -Property Name | Get-Member
TypeName: System.Int32
Name MemberType Definition
---- ---------- ----------
CompareTo Method int CompareTo(System.Object value), int CompareTo(int value), ...
Equals Method bool Equals(System.Object obj), bool Equals(int obj), bool IEq...
GetHashCode Method int GetHashCode()
GetType Method type GetType()
GetTypeCode Method System.TypeCode GetTypeCode(), System.TypeCode IConvertible.Ge...
ToBoolean Method bool IConvertible.ToBoolean(System.IFormatProvider provider)
ToByte Method byte IConvertible.ToByte(System.IFormatProvider provider)
ToChar Method char IConvertible.ToChar(System.IFormatProvider provider)
ToDateTime Method datetime IConvertible.ToDateTime(System.IFormatProvider provider)
ToDecimal Method decimal IConvertible.ToDecimal(System.IFormatProvider provider)
ToDouble Method double IConvertible.ToDouble(System.IFormatProvider provider)
ToInt16 Method int16 IConvertible.ToInt16(System.IFormatProvider provider)
ToInt32 Method int IConvertible.ToInt32(System.IFormatProvider provider)
ToInt64 Method long IConvertible.ToInt64(System.IFormatProvider provider)
ToSByte Method sbyte IConvertible.ToSByte(System.IFormatProvider provider)
ToSingle Method float IConvertible.ToSingle(System.IFormatProvider provider)
ToString Method string ToString(), string ToString(string format), string ToS...
ToType Method System.Object IConvertible.ToType(type conversionType, System...
ToUInt16 Method uint16 IConvertible.ToUInt16(System.IFormatProvider provider)
ToUInt32 Method uint32 IConvertible.ToUInt32(System.IFormatProvider provider)
ToUInt64 Method uint64 IConvertible.ToUInt64(System.IFormatProvider provider)
Name NoteProperty string Name=CustomObject
例 11: オブジェクトにカスタム プロパティを作成する
次の例では、Select-Object
を使用して任意のオブジェクトにカスタム プロパティを追加する方法を示します。
存在しないプロパティ名を指定すると、渡 Select-Object
各オブジェクトに NoteProperty としてそのプロパティが作成されます。
$customObject = 1 | Select-Object -Property MyCustomProperty
$customObject.MyCustomProperty = "New Custom Property"
$customObject
MyCustomProperty
----------------
New Custom Property
例 12: 各 InputObject の計算プロパティを作成する
この例では、Select-Object
を使用して計算プロパティを入力に追加する方法を示します。
ScriptBlock を Property パラメーターに渡すと、Select-Object
は渡された各オブジェクトの式を評価し、結果を出力に追加します。
ScriptBlock内では、$_
変数を使用してパイプライン内の現在のオブジェクトを参照できます。
既定では、 Select-Object
は、プロパティの名前として ScriptBlock 文字列を使用します。
Hashtableを使用すると、ScriptBlock の出力に、各オブジェクトに追加されたカスタム プロパティとしてラベルを付けることができます。
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
例 13: 計算プロパティを使用せずにハッシュテーブル キーを選択する
PowerShell 6 以降、 Select-Object
では 、ハッシュテーブル 入力のキーをプロパティとして選択できます。 次の例では、入力ハッシュテーブルの weight
キーと name
キーを選択し、出力を表示します。
@{ name = 'a' ; weight = 7 } | Select-Object -Property name, weight
name weight
---- ------
a 7
例 14: ExpandProperty によって元のオブジェクトが変更される
この例では、 ExpandProperty パラメーターを使用する副作用を示します。
ExpandProperty を使用する場合、Select-Object
は、選択したプロパティを 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}
ご覧のように、ExpandProperty パラメーターを使用した後、country プロパティが子オブジェクトに追加されました。
例 15: 入力オブジェクトを変更せずに、プロパティを展開して新しいオブジェクトを作成する
ExpandProperty パラメーターを使用する副作用を回避するには、新しいオブジェクトを作成し、入力オブジェクトからプロパティをコピーします。
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}
パラメーター
-CaseInsensitive
既定では、 Unique パラメーターを使用すると、コマンドレットでは大文字と小文字が区別される比較が使用されます。 このパラメーターを使用する場合、コマンドレットは大文字と小文字を区別しない比較を使用します。
このパラメーターは PowerShell 7.4 で追加されました。
パラメーターのプロパティ
型: | SwitchParameter |
規定値: | False |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
(All)
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-ExcludeProperty
このコマンドレットが操作から除外するプロパティを指定します。 ワイルドカードを使用できます。
PowerShell 6 以降では、ExcludeProperty を機能させるために Property パラメーターを含める必要がなくなりました。
パラメーターのプロパティ
型: | String[] |
規定値: | None |
ワイルドカードのサポート: | True |
DontShow: | False |
パラメーター セット
DefaultParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
SkipLastParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-ExpandProperty
選択するプロパティを指定し、そのプロパティの展開を試みる必要があることを示します。 入力オブジェクト パイプラインにプロパティの名前が付いていない場合、 Select-Object
はエラーを返します。
- 指定したプロパティが配列の場合、配列の各値が出力に含まれます。
- 指定したプロパティがオブジェクトの場合、InputObject
ごとにオブジェクト のプロパティが展開されます。
どちらの場合も、出力オブジェクトの Type は展開されたプロパティの Type と一致 します。
注
ExpandProperty を使用する場合は副作用があります。
Select-Object
は、選択したプロパティを NoteProperty メンバーとして元のオブジェクトに追加します。
Property パラメーターを指定Select-Object
、選択した各プロパティを NoteProperty として出力されるすべてのオブジェクトに追加しようとします。
Warnung
その名前のプロパティが既に存在するため、プロパティを処理できないというエラーが発生した場合は、次の点を考慮してください。
ExpandProperty を使用する場合、Select-Object
は既存のプロパティを置き換えることはできません。 これは、以下のようなことを意味します。
- 展開されたオブジェクトに同じ名前のプロパティがある場合、コマンドはエラーを返します。
- Selected オブジェクトに Expanded オブジェクトのプロパティと同じ名前のプロパティがある場合、コマンドはエラーを返します。
パラメーターのプロパティ
型: | String |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
DefaultParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
SkipLastParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-First
入力オブジェクトの配列の先頭から選択するオブジェクトの数を指定します。
パラメーターのプロパティ
型: | Int32 |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
DefaultParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Index
インデックス値に基づいて配列からオブジェクトを選択します。 コンマ区切りのリストにインデックスを入力します。 配列内のインデックスは 0 で始まり、0 は最初の値を表し、(n-1) は最後の値を表します。
パラメーターのプロパティ
型: | Int32[] |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
IndexParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-InputObject
パイプラインを介してコマンドレットに送信するオブジェクトを指定します。 このパラメーターを使用すると、オブジェクトをパイプ処理して Select-Object
できます。
パイプラインを使用する代わりに、InputObject パラメーターにオブジェクトを渡す場合、Select-Object
は、値がコレクションであっても、InputObject を 1 つのオブジェクトとして扱います。 コレクションを Select-Object
に渡すときは、パイプラインを使用することをお勧めします。
パラメーターのプロパティ
型: | PSObject |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
(All)
配置: | Named |
必須: | False |
パイプラインからの値: | True |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Last
入力オブジェクトの配列の末尾から選択するオブジェクトの数を指定します。
パラメーターのプロパティ
型: | Int32 |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
DefaultParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Property
選択するプロパティを指定します。 これらのプロパティは、NoteProperty メンバー $null
に設定されます。
Property パラメーターの値には、新しい計算プロパティを指定できます。 計算されたプロパティを作成するには、ハッシュ テーブルを使用します。
有効なキーは次のとおりです。
- 名前 (またはラベル) -
<string>
- Expression -
<string>
または<script block>
詳細については、「about_Calculated_Properties」を参照してください。
パラメーターのプロパティ
型: | Object[] |
規定値: | None |
ワイルドカードのサポート: | True |
DontShow: | False |
パラメーター セット
DefaultParameter
配置: | 0 |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
SkipLastParameter
配置: | 0 |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Skip
指定した数の項目をスキップ (選択しない) します。 既定では、 Skip パラメーターはオブジェクトのコレクションの先頭からカウントされます。 コマンドで Last パラメーターを使用する場合は、コレクションの末尾からカウントされます。
カウントを 0 から開始する Index パラメーターとは異なり、Skip パラメーターは 1 から始まります。
PowerShell 7.4 以降では、 Skip パラメーターと SkipLast パラメーターを使用して、コレクションの先頭と末尾の両方から項目をスキップできます。
パラメーターのプロパティ
型: | Int32 |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
DefaultParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-SkipIndex
インデックス値に基づいて配列からオブジェクトをスキップ (選択しない) します。 コンマ区切りのリストにインデックスを入力します。 配列内のインデックスは 0 で始まり、0 は最初の値を表し、(n-1) は最後の値を表します。
このパラメーターは、Windows PowerShell 6.0 で導入されました。
パラメーターのプロパティ
型: | Int32[] |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
SkipIndexParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-SkipLast
リストまたは配列の末尾から指定した数の項目をスキップ (選択しない) します。
0 からカウントを開始する Index パラメーターとは異なり、SkipLast パラメーターは 1 から始まります。
PowerShell 7.4 以降では、 Skip パラメーターと SkipLast パラメーターを使用して、コレクションの先頭と末尾の両方から項目をスキップできます。
パラメーターのプロパティ
型: | Int32 |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
SkipLastParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Unique
入力オブジェクトのサブセットに同じプロパティと値がある場合は、サブセットの 1 つのメンバーのみを選択するように指定します。
他のフィルター パラメーターが適用された後、一意の値が選択されます。
このパラメーターでは、大文字と小文字が区別されます。 その結果、文字の大文字と小文字のみが異なる文字列は一意と見なされます。 CaseInsensitive パラメーターを追加して、大文字と小文字を区別しない比較を実行します。
パラメーターのプロパティ
型: | SwitchParameter |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
(All)
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Wait
コマンドレットが最適化をオフにすることを示します。 PowerShell は、コマンド パイプラインに表示される順序でコマンドを実行し、すべてのオブジェクトを生成できるようにします。 既定では、コマンド パイプラインに Select-Object
パラメーターまたは Index パラメーターを含む コマンドを含める場合、選択した数のオブジェクトが生成されるとすぐに、PowerShell によってオブジェクトが生成されるコマンドが停止されます。
このパラメーターは、Windows PowerShell 3.0 で導入されました。
パラメーターのプロパティ
型: | SwitchParameter |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
DefaultParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
IndexParameter
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
PSObject
このコマンドレットにオブジェクトをパイプできます。
出力
PSObject
このコマンドレットは、選択したプロパティのみを含む入力オブジェクトを返します。
メモ
PowerShell には、Select-Object
の次のエイリアスが含まれています。
- すべてのプラットフォーム:
select
Select-Object
の最適化機能は、処理時にパイプラインにオブジェクトを書き込むコマンドでのみ使用できます。 処理されたオブジェクトをバッファー処理してコレクションとして書き込むコマンドには影響しません。 オブジェクトをすぐに書き込むのは、コマンドレット設計のベスト プラクティスです。 詳細については、「強く推奨される開発ガイドライン」の「パイプラインへの単一レコードの書き込み」を参照してください。