Select-Object

모듈:Microsoft.파워쉘.유틸리티

객체 또는 객체 속성을 선택합니다.

Syntax

Select-Object >] 
Select-Object >] 

Description

Select-Objectcmdlet 선택된 객체의 속성 또는 집합체입니다. 또한 anarray 에서 지정된 위치에있는 고유 한 개체,지정된 수의 개체 또는 개체를 선택할 수 있습니다.

컬렉션에서 객체를 선택하려면 첫 번째,마지막,고유,건너 뛰기 및 index 매개 변수를 사용하십시오. 개체 속성을 선택하려면 속성 매개 변수를 사용합니다. Properties 를 선택하면Select-Object는 지정된 속성 만있는 새 개체를 반환합니다.

에서 시작 Windows PowerShell3.0Select-Object포함하는 최적화하는 기능을 preventscommands 에서 작성 및 처리하는 개체는 사용되지 않습니다.

포함할 경우Select-Object명령으로 첫 번째 또는 인덱스에서 매개 변수 commandpipeline,PowerShell 정지 명령을 생성하는 개체로 선택한 수 ofobjects 가 생성되,경우에도 명령을 생성하는 개체를 앞에 나타나는Select-Object명령에서 파이프 라인에 있습니다. 이 최적화 동작을 끄려면 Waitparameter 를 사용하십시오.

예제 1:객체를 선택에 의해 제공

이 예제를 만들이 있는 객체 이름,ID,그리고 작업 집합(WS)성 ofprocess 개체입니다.

Get-Process | Select-Object -Property ProcessName, Id, WS

예제 2:객체를 선택에 의해 제공하고 형식으로 결과는

이 예제에 대한 정보를 가져옵니다 이 모듈에는 프로세스에서 사용되는 컴퓨터입니다. 그것은 컴퓨터에서 프로세스를 얻기 위해Get-Processcmdlet 을 사용합니다.

사용하는Select-Objectcmdlet 출력의 배열System.Diagnostics.Processinstanceoutput 에 의해Get-Process.

Select-Objectcmdlet 의 속성 매개 변수는 프로세스 이름을 선택합니다. 이을 추가ProcessNameNoteProperty 모든인스턴스와 populatesit 으로 현재의 가치 프로세스의 ProcessName 을 제공합니다.

마지막으로Format-Listcmdlet 은 각 프로세스의 이름과 모듈을 목록에 표시하는 데 사용됩니다.

예 3:을 선택 프로세스를 사용하여 가장 메모리

이 예제는 다섯 프로세스를 사용하고 있는 대부분의 메모리입니다. Get-Processcmdlet 은 컴퓨터의 프로세스를 가져옵니다. Sort-Objectcmdlet 종류에 따라 프로세스 메모리(설정)사용,그리고Select-Objectcmdlet 만 선택 지난 다섯 명의 theresulting 객체의 배열입니다.

기 매개 변수가 필요하지 않습에서 명령을 포함하는Sort-Objectcmdlet 기 때문에Sort-ObjectSelect-Objectoptimizationis 는 처리 될 때 개별적으로 객체를 반환하는 명령에 대해서만 사용할 수 있습니다.

실시예 4: 선택한 문자 배열

이 예를 사용한 매개 변수의Select-Object을 얻을 독특한 문자에서 arrayof 문자입니다.

"a","b","c","a","a","a" | Select-Object -Uniqueabc

예 5:을 선택 최신 및 가장 오래된 이벤트 로그에 이벤트를

이 예제 첫(새로운)이고 마지막으(가)이벤트 Windows PowerShell 이벤트 로그에 기록합니다.

Get-EventLogWindows PowerShell 로그의 모든 이벤트를 가져 와서$a$aSelect-Objectcmdlet 으로 파이프됩니다. Select-Object명령은 Indexparameter 를 사용하여$a변수의 이벤트 배열에서 이벤트를 선택합니다. Firstevent 의 인덱스는 0 입니다. 마지막 이벤트의 인덱스는$a마이너스 1 의 항목 수입니다.

$a = Get-EventLog -LogName "Windows PowerShell"$a | Select-Object -Index 0, ($A.count - 1)

예 6:을 선택하든지만 첫 번째 목

이 예제에서는 새 PSSession 에서 각각의 컴퓨터에 나열된 서버에 있습니다.첫 번째 파일을 제외하고 txt 파일.

Select-Object는 컴퓨터 이름 목록에서 첫 번째 컴퓨터를 제외한 모든 컴퓨터를 선택합니다. 결과 listof 컴퓨터는New-PSSessioncmdlet 의 ComputerName 매개 변수의 값으로 설정됩니다.

New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1)

예 7:파일 이름을 변경하고 몇 가지를 선택하는 검토

이 예제는”로”라는 접미사 기준의 이름은 텍스트 파일이 있는 읽기 전용 attributeand 다음을 표시하는 처음 다섯 개의 파일을 사용자의 샘플을 참조하십시오 효과가 있다.

Get-ChildItem는 ReadOnly 동적 매개 변수를 사용하여 읽기 전용 파일을 가져옵니다. 결과 파일은 파일의 이름을 바꾸는Rename-Itemcmdlet 로 파이프됩니다. 그것을 사용하여 경유의 매개 변수를Rename-ItemSelect-Objectcmdlet 를 선택하는 첫 번째 5fordisplay.

기다려의 매개 변수를Select-Object방지 PowerShell 중지에서Get-ChildItemcmdlet 후 처음 다섯 개의 읽기 전용 텍스트 파일입니다. 이 매개 변수가 없으면 firstfive 읽기 전용 파일 만 이름이 바뀝니다.

Get-ChildItem *.txt -ReadOnly | Rename-Item -NewName {$_.BaseName + "-ro.txt"} -PassThru | Select-Object -First 5 -Wait

실시예 8: -ExpandProperty 매개 변수의 복잡함을 보여줍니다.

이 예제는 ExpandProperty 매개 변수의 복잡함을 보여줍니다.

생성 된 출력은인스턴스의 배열임을 유의하십시오. 인스턴스는 다음을 준수합니다.출력 뷰의 표준 서식 규칙. 이는 모든 확장 된 속성에 해당됩니다. 출력된 개체에 특정 표준 형식이 있는 경우 확장된 속성이 표시되지 않을 수 있습니다.

# Create a custom object to use for the Select-Object example.$object = @{Name="CustomObject";Expand=@(1,2,3,4,5)}# Use the ExpandProperty parameter to Expand the property.$object | Select-Object -ExpandProperty Expand -Property Name12345# 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-MemberTypeName: System.Int32Name MemberType Definition---- ---------- ----------CompareTo Method int CompareTo(System.Object value), int CompareTo(int value), int IComparable.CompareTo(System.Object obj)...Equals Method bool Equals(System.Object obj), bool Equals(int obj), bool IEquatable.Equals(int other)GetHashCode Method int GetHashCode()GetType Method type GetType()GetTypeCode Method System.TypeCode GetTypeCode(), System.TypeCode IConvertible.GetTypeCode()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 ToString(System.IFormatProvider provider)...ToType Method System.Object IConvertible.ToType(type conversionType, System.IFormatProvider provider)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

실시예 9: 사용자 지정 속성을 만들에체

다음 예제를 사용하는 방법에 대해 설명합니다Select-ObjectSelect-Object는 전달 된 각 객체에서 해당 속성을 aNoteProperty 로 만듭니다.

예제 10:각 InputObject 에 대해 계산 된 속성 만들기

이 예제는Select-Object를 사용하여 계산 된 속성을 입력에 추가합니다. 속성 매개 변수에 대한 Passinga ScriptBlock 은Select-Object가 전달 된 표현식 oneach 객체를 평가하고 결과를 출력에 추가하도록합니다. ScriptBlock 내에서$_변수를 사용하여 파이프 라인의 현재 객체를 참조 할 수 있습니다.

기본적으로Select-Object는 ScriptBlock 문자열을 속성 이름으로 사용합니다. AHashtable 을 사용하면 ScriptBlock 의 출력에 eachobject 에 추가 된 사용자 정의 속성으로 레이블을 지정할 수 있습니다. Select-Object에 전달 된 각 개체에 여러 계산 된 속성을 추가 할 수 있습니다.

Parameters

-ExcludeProperty

이 cmdlet 이 작업에서 제외하는 속성을 지정합니다. 와일드 카드는 허용됩니다.

PowerShell6 에서 시작하여 더 이상 작동 할 수있는 속성 매개 변수를 포함 할 필요가 없습니다.

Type: 문자열
위치: 이름
기본값: None
파이프라인 입력을 허용하고: False
와일드카드 문자를 동: 사실
-ExpandProperty

속성을 지정합하는 선택을 나타내는 것을 시도해야를 확장 thatproperty.

  • 지정된 속성이 배열 인 경우 배열의 각 값이 출력에 포함됩니다.
  • 경우에는 지정된 숙박 시설은 개체는 객체의 속성을 확장해 everyInputObject

어느 경우에,개체의 유형에 출력이 일치의 유형 확장을 제공합니다.

속성 매개 변수가 지정되면Select-Object는 각 selectedproperty 를 출력 된 모든 객체에 NoteProperty 로 추가하려고 시도합니다.

경고

이 오류를 받은 경우:선택:산을 처리할 수 없기 때문에 속성을<PropertyName>-ExpandPropertySelect-Object는 기존 속성을 대체 할 수 없습니다.즉,

  • 확장 된 객체에 동일한 이름의 속성이 있으면 오류가 발생합니다.
  • 선택한 객체에 확장 된 객체 속성과 동일한 이름의 속성이 있으면 anerror 가 발생합니다.
Type: 문자열
위치: 이름
기본값: None
을 받아 파이프 라인 입력: False
받아들이 와일드카드 문자: False
-First

수를 지정하는 개체의 선택에서의 시작 부분의 배열을 입력체입니다.

Type: Int32
위치: 이름
기본값: None
파이프라인 입력을 허용하고: False
받아들이 와일드카드 문자: False
-Index

선체에서 배열에 따라 자신의 색인 값입니다. 쉼표로 구분 된 색인을 입력하십시오.목록. 배열의 인덱스는 0 으로 시작하며,여기서 0 은 첫 번째 값을 나타내고(n-1)는 마지막 값을 나타냅니다.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-InputObject

Specifies objects to send to the cmdlet through the pipeline. This parameter enables you to pipeobjects to Select-Object.

전달할 때는 객체을 InputObject 매개 변수는 대신 사용하여 파이프라인Select-Object취급 InputObject 체는 경우에도 이 값은 컬렉션입니다. Itis 는Select-Object에 컬렉션을 전달할 때 파이프 라인을 사용하는 것이 좋습니다.

Type: PSObject
위치: 이름
기본값: None
파이프라인 입력을 허용하고: 사실
와일드카드 문자를 동: False
-Last

Specifies the number of objects to select from the end of an array of input objects.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Property

Specifies the properties to select. 이러한 속성은 output 개체에 NoteProperty 멤버로 추가됩니다. 와일드 카드는 허용됩니다.

속성 매개 변수의 값은 새로운 계산 된 속성이 될 수 있습니다. 계산 된 속성을 만들려면 해시 테이블을 사용하십시오.

유효한 키는 다음과 같습니다.

  • 이름(또는 레이블)-<string>
  • <string><script block>

자세한 내용은 seeabout_Calculated_Properties.

Type: 개체
위치: 0
기본값: None
을 받아 파이프 라인 입력: False
받아들이 와일드카드 문자: 사실
-건너뛰기

건너뛰(선택되지 않습니다)지정된 수의 항목입니다. 기본적으로 건너뛰기 매개 변수 countsfrom 배열의 시작 부분 또는 목록의 개체,그 경우 명령을 사용하여 지속 매개 변수 계산의 끝에서 목록 또는 배열입니다.

0 에서 카운팅을 시작하는 인덱스 매개 변수와 달리 건너 뛰기 매개 변수는 1 에서 시작합니다.

유형: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SkipIndex
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SkipLast

건너뛰(선택되지 않습니다)지정된 항목의 끝에서는 목록 또는 배열입니다. 에서 작동합니다.마지막 매개 변수와 함께 건너 뛰기를 사용하는 것과 같은 방식으로.

0 에서 카운팅을 시작하는 인덱스 매개 변수와 달리 SkipLast 매개 변수는 1 에서 시작합니다.

Type: Int32
위치: 이름
기본값: None
파이프라인 입력을 허용: False
받아들이 와일드카드 문자: False
-독

지정하는 경우의 일부 입력체가 동일한 속성 값만 singlemember 의 하위 집합이 선택됩니다.이 매개 변수는 대소 문자를 구분합니다. 결과적으로 문자 케이싱 만 다른 문자열은독특한 것으로 간주됩니다.

Type: 니다.
위치: 이름
기본값: None
을 받아 파이프 라인 입력: False
받아들이 와일드카드 문자: False
-기

는 것을 나타냅 cmdlet 꺼 최적화입니다. PowerShell 은 명령 파이프 라인에서 명령을 실행하고 모든 객체를 생성 할 수있게합니다. 기본적으로 포함하는 경우에는Select-Object명령으로 첫 번째 또는 인덱스를 매개 변수를 명령에 파이프라인,PowerShellstops 명령을 생성하는 개체로 선택된 객체의 수가 생성됩니다.

이 매개 변수는 Windows PowerShell3.0 에 도입되었습니다.

Type: 니다.
위치: 이름
기본값: None
파이프라인 입력을 허용하고: False
와일드카드 문자를 동: False

입력

PSObject

파이프할 수 있습니다 어떤 물체를Select-Object.

출력

PSObject

메모

  • 참조할 수도 있습니다Select-Objectcmdlet 에 의해 내장 별칭select. 자세한 내용은 about_Aliases 를 참조하십시오.

  • 최적화 기능의Select-Object에 대해서만 사용할 수 있는 명령을 쓰는 개체 tothe 파이프라인으로 그들이 처리됩니다. 처리 된 객체를 버퍼링하고이를 컬렉션으로 변경하는 명령에는 아무런 영향을 미치지 않습니다. 객체를 즉시 작성하는 것은 cmdlet 디자인 모범 사례입니다. 자세한 내용은 파이프 라인에 단일 레코드 쓰기 inStrongly 권장 개발 지침을 참조하십시오.나는 이것이 내가 할 수있는 일이 아니라는 것을 알고 있지만,내가 할 수있는 일이 없다는 것을 알고 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다