편집 참고 사항
중요합니다
Windows PowerShell 언어 사양 3.0 2012년 12월에 게시되었으며 Windows PowerShell 3.0을 기반으로 했습니다. 이 사양은 PowerShell의 현재 상태를 반영하지 않습니다. 현재 상태를 반영하도록 이 설명서를 업데이트할 계획은 없습니다. 이 설명서는 기록 참조를 위해 여기에 제공됩니다.
사양 문서는 Microsoft 다운로드 센터 Microsoft Word 문서로 사용할 수 있습니다. https://www.microsoft.com/download/details.aspx?id=36389 Word 문서가 Microsoft Learn에서 프레젠테이션용으로 변환되었습니다. 변환하는 동안 Docs 플랫폼의 서식을 수용하기 위해 일부 편집 변경이 이루어졌습니다. 일부 오타 및 사소한 오류가 수정되었습니다.
PowerShell에서 각 값에는 형식이 있으며 형식은 값 형식과 참조 형식의 두 가지 주요 범주 중 하나에 속합니다. 값 형식의 일반적인 형식인 int형식을 고려합니다.
int 형식의 값은 완전히 자체 포함됩니다. 해당 값을 나타내는 데 필요한 모든 비트는 해당 값에 저장되고 해당 값의 모든 비트 패턴은 해당 형식에 유효한 값을 나타냅니다. 이제 참조 형식의 일반적인 배열 형식 int[]고려합니다. 배열 유형의 이른바 값은 실제로 배열 요소를 포함하는 객체에 대한 참조 또는 값이 인 $null null 참조를 포함할 수 있습니다. 두 형식 범주 간의 중요한 구분은 할당 중에 의미 체계의 차이에 의해 가장 잘 입증됩니다. 예를 들면 다음과 같습니다.
$i = 100 # $i designates an int value 100
$j = $i # $j designates an int value 100, which is a copy
$a = 10,20,30 # $a designates an object[], Length 3, value 10,20,30
$b = $a # $b designates exactly the same array as does $a, not a copy
$a[1] = 50 # element 1 (which has a value type) is changed from 20 to 50
$b[1] # $b refers to the same array as $a, so $b[1] is 50
여기서 볼 수 있듯이 참조 형식 값의 할당에는 얕은 복사가 포함됩니다. 즉, 개체의 실제 값이 아닌 참조의 복사본을 만드는 것입니다. 반면, 딥 카피 개체의 복사본도 만들어야 합니다.
숫자 형식은 정수 또는 소수 값의 표현을 허용하고 해당 값에 대한 산술 연산을 지원하는 형식입니다. 숫자 형식 집합에는 정수(§4.2.3) 및 실수(§4.2.4) 형식이 포함되지만 bool(§4.2.1) 또는 char(§4.2.2)는 포함되지 않습니다. 구현은 다른 숫자 형식(예: 부호 있는 바이트, 부호 없는 정수 및 다른 크기의 정수)을 제공할 수 있습니다.
컬렉션 같은 형식이 필요하지 않은 하나 이상의 관련 항목의 그룹입니다.
컬렉션 형식의 예로는 배열, 스택, 큐, 목록 및 해시 테이블이 있습니다. 프로그램은 컬렉션의 각 요소에 대해 열거하거나 반복하여 각 요소에 하나씩 한 번에 접근할 수 있습니다. 이 작업을 수행하는 일반적인 방법은 foreach 문(§8.4.4) 및 ForEach-Object cmdlet을 사용하는 것입니다. 열거자를 나타내는 개체의 형식은 §4.5.16설명되어 있습니다.
이 챕터에는 지정된 형식에 대한 액세스 가능한 멤버를 나열하는 테이블이 있습니다. 메서드의 경우 Type 다음과 같은 형식으로 작성됩니다. returnType/argumentTypeList. 인수 형식 목록이 너무 길어 해당 열에 맞지 않으면 대신 용도 열에 표시됩니다.
다른 정수 형식으로는 네임스페이스 SByte에 속하는 Int16, UInt16, UInt32, UInt64및 가 있습니다.
많은 컬렉션 클래스는 System.Collections 또는 System.Collections.Generic 네임스페이스의 일부로 정의됩니다. 대부분의 컬렉션 클래스는 ICollection, IComparer, IEnumerable, IList, IDictionary및 IDictionaryEnumerator 및 해당 제네릭 등가 인터페이스를 구현합니다.
일부 형식에는 약식 이름을 사용할 수도 있습니다. 자세한 내용은 about_Type_Accelerators참조하세요.
4.1 특수 형식
4.1.1 void 형식
이 형식은 인스턴스화할 수 없습니다. 캐스트 연산자를 사용하여 명시적으로 값을 삭제하는 방법을 제공합니다(§7.2.9).
4.1.2 null 형식
null 형식 하나의 인스턴스, 즉 null 값이라고도 하는 자동 변수 $null(§2.3.2.2)가 있습니다. 이 값은 참조 컨텍스트에서 "nothingness"를 표현하는 수단을 제공합니다. 이 형식의 특성은 지정되지 않습니다.
4.1.3 개체 형식
null 형식(§4.1.2)을 제외한 PowerShell의 모든 형식은 형식 개체에서 직접 또는 간접적으로 파생되므로 개체는 null이 아닌 모든 형식의 최종 기본 형식입니다. 형식 개체로 제한되는 변수(§5.3)는 형식의 값을 포함할 수 있으므로 실제로 전혀 제한되지 않습니다.
4.2 값 형식
4.2.1 부울
부울 유형은 bool입니다. 이 형식의 값은 단 두 가지로, 각각 자동 변수 와 로 나타내는 $false 및 $true입니다 (§2.3.2.2).
PowerShell에서는 bool이 System.Boolean로 매핑됩니다.
4.2.2 문자
문자 값에는 UTF-16으로 인코딩된 16비트 유니코드 코드 지점을 저장할 수 있는 문자 형식이 있습니다.
char 형식에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 최대값 | 정적 속성(읽기 전용) | char | char 형식의 가능한 가장 큰 값 |
| 최소값 | 정적 속성(읽기 전용) | char | char 형식의 가능한 가장 작은 값 |
| IsControl | 정적 메서드 | bool/char | 문자가 컨트롤 문자인지 테스트합니다. |
| IsDigit | 정적 메서드 | bool/char | 문자가 10진수인지 테스트합니다. |
| IsLetter | 정적 메서드 | bool/char | 문자가 알파벳 문자인지 테스트합니다. |
| IsLetterOrDigit (문자 또는 숫자인지 확인) | 정적 메서드 | bool/char | 문자가 10진수 또는 알파벳 문자인지 테스트합니다. |
| IsLower | 정적 메서드 | bool/char | 문자가 소문자 알파벳 문자인지 테스트합니다. |
| IsPunctuation | 정적 메서드 | bool/char | 문자가 문장 부호인지 테스트합니다. |
| IsUpper | 정적 메서드 | bool/char | 문자가 대문자 알파벳 문자인지 테스트합니다. |
| IsWhiteSpace | 정적 메서드 | bool/char | 문자가 공백 문자인지 테스트합니다. |
| ToLower | 정적 메서드 | char/string | 문자를 소문자로 변환합니다. |
| ToUpper | 정적 메서드 | char/string | 문자를 대문자로 변환합니다. |
Windows PowerShell: char는 System.Char에 매핑됩니다.
4.2.3 정수
두 개의 부호 있는 정수 형식이 있으며, 둘 다 음수 값에 대해 두 개의 보수 표현을 사용합니다.
- 32비트를 사용하는
int형식은 -2147483648에서 +2147483647까지의 범위를 포함합니다. - 64비트를 사용하는 형식
long은 범위가 -9223372036854775808에서 +9223372036854775807까지 포함됩니다.
형식 int에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 최대값 | 정적 속성(읽기 전용) | 정수 (int) | int 형식의 가능한 가장 큰 값 |
| 최소값 | 정적 속성(읽기 전용) | 정수 (int) | int 형식의 가능한 가장 작은 값 |
long 형식에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 최대값 | 정적 속성(읽기 전용) | 길다 | long 형식의 가능한 가장 큰 값 |
| 최소값 | 정적 속성(읽기 전용) | 길다 | long 형식의 가능한 가장 작은 값 |
부호 없는 정수 형식은 다음과 같습니다.
-
byte형식으로, 8비트를 사용하여 0에서 255 사이의 범위를 제공합니다.
byte 형식에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 최대값 | 정적 속성(읽기 전용) | 바이트 | 가능한 가장 큰 바이트 형식 값입니다. |
| 최소값 | 정적 속성(읽기 전용) | 바이트 | 가능한 가장 작은 바이트 형식 값 |
PowerShell에서 byte, int및 long 각각 System.Byte, System.Int32및 System.Int64매핑합니다.
4.2.4 실수
4.2.4.1 float 및 double
두 가지 실제(또는 부동 소수점) 형식이 있습니다.
- 형식
float32비트 IEEE 단정밀도 표현을 사용합니다. - 형식
double64비트 IEEE 배정밀도 표현을 사용합니다.
세 번째 형식 이름(single)은 float형식의 동의어입니다. float 이 사양 전체에서 사용됩니다.
float 및 double 유형의 크기와 표현은 이 사양에 따라 정의되지만, 구현에서는 중간 결과에 대해 확장 정밀도를 사용할 수 있습니다.
float 형식에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 최대값 | 정적 속성(읽기 전용) | 떠다니다 | float 형식의 가능한 가장 큰 값 |
| 최소값 | 정적 속성(읽기 전용) | 떠다니다 | float 형식의 가능한 가장 작은 값 |
| NaN | 정적 속성(읽기 전용) | 떠다니다 | 숫자가 아닌 상수 값 |
| NegativeInfinity | 정적 속성(읽기 전용) | 떠다니다 | 상수 값 음의 무한대 |
| PositiveInfinity | 정적 속성(읽기 전용) | 떠다니다 | 상수 값 양의 무한대 |
double 형식에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 최대값 | 정적 속성(읽기 전용) | 더블 | double 형식의 가능한 가장 큰 값 |
| 최소값 | 정적 속성(읽기 전용) | 더블 | double 형식의 가능한 가장 작은 값 |
| NaN | 정적 속성(읽기 전용) | 더블 | 숫자가 아닌 상수 값 |
| NegativeInfinity | 정적 속성(읽기 전용) | 더블 | 상수 값 음의 무한대 |
| PositiveInfinity | 정적 속성(읽기 전용) | 더블 | 상수 값 양의 무한대 |
PowerShell에서 float 및 double 각각 System.Single 및 System.Double매핑됩니다.
4.2.4.2 소수
10진수 형식은 128비트 표현을 사용합니다. 최소한 의 스케일을 지원해야 하며, 이는 0<= s<가 최소한 28인 것을 포함합니다. 값 범위는 -79228162514264337593543950335에서 79228162514264337593543950335까지입니다. 10진수의 실제 표현은 구현에 따라 정의됩니다.
형식 10진수에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 최대값 | 정적 속성(읽기 전용) | 십진수 | 10진수 형식의 가능한 가장 큰 값 |
| 최소값 | 정적 속성(읽기 전용) | 십진수 | 10진수 형식의 가능한 가장 작은 값 |
비고
10진수 실수에는 소수점 오른쪽의 자릿수를 나타내는 스케일이라는 특성이 있다. 예를 들어 값 2.340의 배율은 3입니다. 여기서 후행 0은 중요합니다. 두 개의 소수 실수를 덧셈하거나 뺄셈할 때, 결과의 자릿수는 두 자릿수 중 더 큰 것입니다. 예를 들어 1.0 + 2.000은 3.000이고 5.0 - 2.00은 3.00입니다. 10진수 실수 2개를 곱하면 결과의 배율은 두 눈금의 합계입니다. 예를 들어 1.0 * 2.000은 2.0000입니다. 두 개의 소수 실수가 나뉘면 결과의 배율은 첫 번째 수의 배율에서 두 번째 수의 배율을 뺀 값입니다. 예를 들어 4.00000/2.000은 2.00입니다. 그러나 척도는 올바른 결과를 유지하는 데 필요한 수준보다 작을 수 없습니다. 예를 들어 3.000/2.000, 3.00/2.000, 3.0/2.000 및 3/2는 모두 1.5입니다.
PowerShell에서는 decimal이 System.Decimal로 매핑됩니다. 10진수의 표현은 다음과 같습니다.
- 4개의
int값 배열로 간주되는 경우 다음 요소가 포함됩니다.- 인덱스 0(비트 0-31)에는 소수 계수의 하위 32비트가 포함됩니다.
- 인덱스 1(비트 32-63)에는 소수 계수의 중간 32비트가 포함됩니다.
- 인덱스 2(비트 64-95)에는 소수 계수의 상위 32비트가 포함됩니다.
- 인덱스 3(비트 96-127)에는 다음과 같이 부호 비트와 스케일이 들어 있습니다.
- 비트 0--15는 0입니다.
- bits 16-23에는 0-28 값으로 스케일이 포함되어 있습니다.
- 비트 24-30은 0입니다.
- 비트 31은 부호(긍정의 경우 0, 음수의 경우 1)입니다.
4.2.5 스위치 유형
이 형식은 명령의 매개 변수 형식을 제한하는 데 사용됩니다(§8.10.5). 해당 매개 변수 이름을 가진 인수가 있으면 매개 변수가 $true로 평가됩니다; 그렇지 않으면 $false로 평가됩니다.
PowerShell에서는 switch이 System.Management.Automation.SwitchParameter로 매핑됩니다.
4.2.6 열거형 형식
열거형 형식은 해당 열거형 형식의 개체에 할당할 수 있는 모든 가능한 값을 나타내는 명명된 상수 집합을 정의하는 형식입니다. 경우에 따라 값 집합은 한 번에 하나의 값만 나타낼 수 있도록 합니다. 다른 경우에는 값 집합이 2의 고유 권한이며, -bor 연산자(§7.8.5)를 사용하여 동일한 개체에서 여러 값을 인코딩할 수 있습니다.
PowerShell 환경은 다음 섹션에 설명된 대로 다양한 열거형 형식을 제공합니다.
4.2.6.1 Action-Preference 형식
이 구현 정의 형식에는 다음과 같은 상호 배타적인 액세스 가능 멤버가 있습니다.
| 회원 | 멤버 종류 | 용도 |
|---|---|---|
| 계속 | 열거형 상수 | PowerShell 런타임은 처리를 계속하고 사용자에게 작업이 발생했음을 알립니다. |
| 문의하다 | 열거형 상수 | PowerShell 런타임은 처리를 중지하고 사용자에게 진행 방법을 묻습니다. |
| 조용히 계속 | 열거형 상수 | PowerShell 런타임은 사용자에게 작업이 발생했음을 알리지 않고 처리를 계속합니다. |
| 중지 | 열거형 상수 | PowerShell 런타임은 작업이 발생할 때 처리를 중지합니다. |
PowerShell에서 이 형식은 System.Management.Automation.ActionPreference.
4.2.6.2 Confirm-Impact 형식
이 구현 정의 형식에는 다음과 같은 상호 배타적인 액세스 가능 멤버가 있습니다.
| 회원 | 멤버 종류 | 용도 |
|---|---|---|
| 높음 | 열거형 상수 | 수행된 작업은 하드 디스크 다시 포맷과 같은 데이터 손실 위험이 높습니다. |
| 낮음 | 열거형 상수 | 수행된 작업은 데이터 손실 위험이 낮습니다. |
| 미디엄 | 열거형 상수 | 수행된 작업에는 데이터가 손실될 위험이 중간 정도입니다. |
| 없음 | 열거형 상수 | 어떤 작업도 확인하지 마세요(모든 확인 요청 표시 억제). |
PowerShell에서 이 형식은 System.Management.Automation.ConfirmImpact.
4.2.6.3 File-Attributes 형식
이 구현 정의 형식에는 결합할 수 있는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 용도 |
|---|---|---|
| 아카이브 | 열거형 상수 | 파일의 보관 상태입니다. 애플리케이션은 이 특성을 사용하여 백업 또는 제거를 위해 파일을 표시합니다. |
| 압축됨 | 열거형 상수 | 파일이 압축됩니다. |
| 디바이스 | 향후 사용을 위해 예약됨. | |
| 디렉터리 | 열거형 상수 | 파일이 디렉터리입니다. |
| 암호화됨 | 열거형 상수 | 파일 또는 디렉터리가 암호화됩니다. 파일의 경우 이는 파일의 모든 데이터가 암호화됨을 의미합니다. 디렉터리의 경우 암호화가 새로 만든 파일 및 디렉터리의 기본값임을 의미합니다. |
| 숨겨진 | 열거형 상수 | 파일이 숨겨지므로 일반 디렉터리 목록에 포함되지 않습니다. |
| 정상 | 열거형 상수 | 파일은 정상이며 다른 특성 집합이 없습니다. 이 특성은 단독으로 사용하는 경우에만 유효합니다. |
| 콘텐츠 색인 안 함 | 열거형 상수 | 이 파일은 운영 체제의 콘텐츠 인덱싱 서비스에서 인덱싱되지 않습니다. |
| 오프라인 | 열거형 상수 | 파일이 오프라인 상태입니다. 파일의 데이터를 즉시 사용할 수 없습니다. |
| 읽기 전용 | 열거형 상수 | 파일이 읽기 전용입니다. |
| ReparsePoint | 열거형 상수 | 파일에는 파일 또는 디렉터리에 연결된 사용자 정의 데이터의 블록인 재처리 지점이 포함되어 있습니다. |
| SparseFile | 열거형 상수 | 파일은 희소 파일입니다. 스파스 파일은 일반적으로 데이터가 대부분 0인 큰 파일입니다. |
| 시스템 | 열거형 상수 | 파일은 시스템 파일입니다. 이 파일은 운영 체제의 일부이거나 운영 체제에서만 사용됩니다. |
| 일시적인 | 열거형 상수 | 파일이 일시적입니다. 파일 시스템은 데이터를 다시 대용량 스토리지로 플러시하는 대신 더 빠르게 액세스할 수 있도록 모든 데이터를 메모리에 유지하려고 합니다. 임시 파일은 더 이상 필요하지 않은 즉시 애플리케이션에서 삭제해야 합니다. |
PowerShell에서 이 형식은 FlagsAttribute 특성이 있는 System.IO.FileAttributes입니다.
4.2.6.4 일반Expression-Option 형식
이 구현 정의 형식에는 결합할 수 있는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 용도 |
|---|---|---|
| IgnoreCase | 열거형 상수 | 일치 항목이 대/소문자를 구분하지 않는지 지정합니다. |
| 없음 | 열거형 상수 | 옵션이 설정되지 않음을 지정합니다. |
구현은 다른 값을 제공할 수 있습니다.
PowerShell에서 이 형식은 System.Text.RegularExpressions.RegexOptions이며 특성 FlagsAttribute을/를 가지고 있습니다.
Compiled, CultureInvariant, ECMAScript, ExplicitCapture, IgnorePatternWhitespace, Multiline, RightToLeft, Singleline등의 추가 값이 정의됩니다.
4.3 참조 형식
4.3.1 문자열
문자열 값은 문자열 형식을 가지며 각각 UTF-16으로 인코딩된 16비트 유니코드 코드 지점을 포함하는 문자 형식의 0개 이상의 문자로 변경할 수 없는 시퀀스입니다.
형식 문자열에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 길이 | Instance 속성 | int(읽기 전용) | 문자열의 문자 수를 가져옵니다. |
| ToLower | 인스턴스 메서드 | 문자열 | 해당하는 소문자를 포함하는 새 문자열을 만듭니다. |
| ToUpper | 인스턴스 메서드 | 문자열 | 해당하는 대문자를 포함하는 새 문자열을 만듭니다. |
PowerShell에서는 string이 System.String로 매핑됩니다.
4.3.2 배열
모든 배열 형식은 array형식에서 파생됩니다. 이 형식에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 길이 | Instance 속성(읽기 전용) | 정수 (int) | 배열의 요소 수 |
| 등급 | Instance 속성(읽기 전용) | 정수 (int) | 배열의 차원 수 |
| 복사 | 정적 메서드 | void 또는 용도 열 참조 | 한 배열에서 다른 배열로 요소의 범위를 복사합니다. 네 가지 버전이 있으며, 여기서 source는 원본 배열이고, destination는 대상 배열이며, count는 복사할 요소의 수를 의미합니다. sourceIndex 및 destinationIndex는 각각 해당 배열의 시작 위치입니다. Copy(원본, 대상, int 개수) |
| GetLength | Instance 메서드(읽기 전용) | int/none | 지정된 차원의 요소 수 GetLength(int 차원) |
배열에 대한 자세한 내용은 §9를 참조하세요.
PowerShell에서는 array이 System.Array로 매핑됩니다.
4.3.3 해시 테이블
Hashtable 형식에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 수량 | Instance 속성 | 정수 (int) | 해시 테이블의 키/값 쌍 수를 가져옵니다. |
| 열쇠 | Instance 속성 | 구현 정의 | 모든 키의 컬렉션을 가져옵니다. |
| 가치들 | Instance 속성 | 구현 정의 | 모든 값의 컬렉션을 가져옵니다. |
| 제거하십시오 | 인스턴스 메서드 | 없음/없음 | 지정된 키/값을 제거합니다. |
해시 테이블에 대한 자세한 내용은 §10을 참조하세요.
PowerShell에서는 Hashtable이 System.Collections.Hashtable로 매핑됩니다.
Hashtable 요소는 DictionaryEntry형식의 개체에 저장되고 키 및 값에서 반환되는 컬렉션에는 형식이 ICollection.
4.3.4 xml 형식
Type xml은 W3C DOM(문서 개체 모델) 수준 1 코어와 코어 DOM 수준 2를 구현합니다. DOM은 XML 문서의 메모리 내(캐시) 트리 표현이며 이 문서의 탐색 및 편집을 가능하게 합니다. 이 형식은 아래 첨자 연산자 [](§7.1.4.4)를 지원합니다.
PowerShell에서는 xml이 System.Xml.XmlDocument로 매핑됩니다.
4.3.5 정규식 형식
형식 regex 정규식 처리를 지원하기 위한 기계를 제공합니다. 해당 인수에 정규식이 포함될 수 있는 매개 변수(§5.3)의 형식을 제한하는 데 사용됩니다.
PowerShell에서는 regex이 System.Text.RegularExpressions.Regex로 매핑됩니다.
4.3.6 ref 형식
일반적으로 인수는 값으로 명령에 전달됩니다. 일부 값 형식이 있는 인수의 경우 값의 복사본이 전달됩니다. 일부 참조 형식이 있는 인수의 경우 참조 복사본이 전달됩니다.
Type ref는 인수를 참조로 명령에 전달할 수 있도록 하는 기계를 제공하므로 명령은 인수 값을 수정할 수 있습니다. 형식 참조에는 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 가치 | 인스턴스 속성(읽기-쓰기) | 참조되는 값의 형식입니다. | 참조되는 값을 가져오거나 설정합니다. |
다음 함수 정의 및 호출을 고려합니다.
function Doubler {
param ([ref]$x) # parameter received by reference
$x.Value *= 2.0 # note that 2.0 has type double
}
$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type double, value 8.0
$number 형식이 제한된 경우를 고려합니다.
[int]$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type int, value 8
표시된 것처럼 인수와 해당 매개 변수는 모두 ref선언해야 합니다.
PowerShell에서는 ref이 System.Management.Automation.PSReference로 매핑됩니다.
4.3.7 scriptblock 형식
형식 scriptblock 단일 단위로 사용할 수 있는 미리 컴파일된 스크립트 텍스트 블록(§7.1.8)을 나타냅니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 특성 | 인스턴스 속성(읽기 전용) | 특성 컬렉션 | 스크립트 블록의 특성을 가져옵니다. |
| 파일 | 인스턴스 속성(읽기 전용) | 문자열 | 스크립트 블록이 정의된 파일의 이름을 가져옵니다. |
| 모듈 | 인스턴스 속성(읽기 전용) | 구현이 정의됨([§4.5.12][§4.5.12]) | 스크립트 블록이 정의된 모듈에 대한 정보를 가져옵니다. |
| GetNewClosure | 인스턴스 메서드 | 스크립트 블록 /없음 |
모듈에 바인딩된 스크립트 블록을 검색합니다. 호출자의 컨텍스트에 있는 모든 지역 변수는 모듈에 복사됩니다. |
| 호출 | 인스턴스 메서드 | 개체의 컬렉션/개체 배열[] | 지정된 인수를 사용하여 스크립트 블록을 호출하고 결과를 반환합니다. |
| InvokeReturnAsIs | 인스턴스 메서드 | 객체/객체[] | 지정된 인수를 사용하여 스크립트 블록을 호출하고 생성된 개체를 반환합니다. |
| 창조하다 | 정적 메서드 | 스크립트 블록 /문자열 |
지정된 스크립트를 포함하는 새 scriptblock 개체를 만듭니다. |
PowerShell에서는 scriptblock이 System.Management.Automation.ScriptBlock로 매핑됩니다.
Invoke
PSObject컬렉션을 반환합니다.
4.3.8 수학 유형
형식 math 수학 계산에 유용한 일부 상수 및 메서드에 대한 액세스를 제공합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| E | 정적 속성(읽기 전용) | 더블 | 자연 로그 기반 |
| 원주율 | 정적 속성(읽기 전용) | 더블 | 원의 둘레와 지름의 비율 |
| 복근 | 정적 메서드 | 숫자/숫자 | 절대값(반환 형식은 전달된 인수의 형식과 동일) |
| Acos | 정적 메서드 | 더블/더블 | 코사인이 지정된 숫자인 각도 |
| Asin | 정적 메서드 | 더블/더블 | 사인이 지정된 숫자인 각도 |
| Atan | 정적 메서드 | 더블/더블 | 탄젠트가 지정된 숫자인 각도 |
| Atan2 | 정적 메서드 | double/double y, double x | 탄젠트가 두 수 x, y의 몫인 각도입니다. |
| 천장 | 정적 메서드 | 10진수/10진수 더블/더블 |
지정된 숫자보다 크거나 같은 가장 작은 정수 |
| 코사인 | 정적 메서드 | 더블/더블 | 지정된 각도의 코사인 |
| Cosh | 정적 메서드 | 더블/더블 | 지정된 각도의 하이퍼볼릭 코사인 |
| 특급 | 정적 메서드 | 더블/더블 | e가 지정된 거듭제곱으로 제곱됩니다. |
| 층 | 정적 메서드 | 10진수/10진수 더블/더블 |
지정된 숫자보다 작거나 같은 가장 큰 정수 |
| 로그 | 정적 메서드 | 더블/더블 번호 더블/더블 숫자, 더블 기본 |
기본 e 또는 기본 기본 사용하여 숫자의 로그 |
| Log10 | 정적 메서드 | 더블/더블 | 지정된 숫자의 Base-10 로그 |
| 맥스 | 정적 메서드 | 숫자/숫자 | 두 개의 지정된 숫자 중 큰 값(반환 형식은 전달된 인수의 형식과 동일) |
| 민 | 정적 메서드 | 숫자/숫자, 숫자 | 두 개의 지정된 숫자 중 더 작음(반환 형식은 전달된 인수의 형식과 같음) |
| 펑 | 정적 메서드 | 더블/더블 x, 더블 y | 지정된 숫자 x를 y의 거듭제곱으로 합니다. |
| 죄 | 정적 메서드 | 더블/더블 | 지정된 각도의 사인 |
| 신 시 | 정적 메서드 | 더블/더블 | 지정된 각도의 쌍곡선 사인 함수 |
| Sqrt | 정적 메서드 | 더블/더블 | 지정된 숫자의 제곱근 |
| 탄 | 정적 메서드 | 더블/더블 | 지정된 각도의 탄젠트 |
| Tanh | 정적 메서드 | 더블/더블 | 지정된 각도의 쌍곡 탄젠트 |
PowerShell에서는 Math이 System.Math로 매핑됩니다.
4.3.9 순서가 지정된 형식
ordered 형식은 변환에만 사용되는 의사 형식입니다.
4.3.10 pscustomobject 형식
pscustomobject 형식은 변환에만 사용되는 의사 형식입니다.
4.4 제네릭 형식
다양한 프로그래밍 언어 및 환경은 특수 수 있는 형식을 제공합니다. 이러한 형식의 대부분은 다른 형식의 개체를 포함할 수 있으므로 컨테이너 형식이라고 합니다. 푸시하여 팝오프할 수 있는 값 스택을 나타낼 수 있는 Stack이라는 형식을 고려합니다. 일반적으로 스택의 사용자는 해당 스택에 하나의 종류의 개체만 저장하려고 합니다. 그러나 언어 또는 환경에서 형식 특수화를 지원하지 않는 경우 다른 형식 요소를 사용하여 모두 동일한 작업을 수행하더라도 Stack 형식의 여러 고유 변형을 구현해야 합니다.
형식 특수화를 사용하면 제네릭 형식 구현할 수 있으므로 사용될 때 일부 형식 하위 집합을 처리하도록 제한할 수 있습니다. 예를 들면 다음과 같습니다.
- 문자열을 보유하도록 특수화된 제네릭 스택 형식은
Stack[string]작성될 수 있습니다. - 연결된 문자열 값을 가지는 int 키를 보유하도록 특수화된 제네릭 사전 형식은
Dictionary[int,string]으로 작성될 수 있습니다. - 문자열 스택의 스택은
Stack[Stack[string]]으로 기록될 수 있습니다.
PowerShell은 기본 제공 제네릭 형식을 정의하지 않지만 호스트 환경에서 제공하는 경우 이러한 형식을 사용할 수 있습니다. §7.1.10구문을 참조하세요.
위에서 제안된 Stack[string] 형식의 전체 이름은 System.Collections.Generic.Stack[string]. 위에서 제안된 Dictionary[int,string] 형식의 전체 이름은 System.Collections.Generic.Dictionary[int,string].
4.5 익명 형식
경우에 따라 PowerShell 구현은 일부 형식의 개체를 만들고 이러한 개체에는 스크립트에 액세스할 수 있는 멤버가 있습니다. 그러나 액세스 가능한 멤버를 사용할 수 있도록 충분히 지정된 경우 이러한 형식의 실제 이름을 지정할 필요가 없습니다. 즉, 스크립트는 해당 형식의 개체를 저장하고 해당 형식의 이름을 실제로 알지 못하고 멤버에 액세스할 수 있습니다. 다음 하위 섹션에서는 이러한 형식을 지정합니다.
4.5.1 공급자 설명 유형
이 형식은 공급자의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 구동 장치 | 인스턴스 속성(읽기 전용) | 구현 정의됨(§4.5.2) | 드라이브 설명 객체의 모음 |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 공급자의 이름 |
PowerShell에서 이 형식은 System.Management.Automation.ProviderInfo.
4.5.2 드라이브 설명 유형
이 형식은 드라이브의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 현재 위치 | 인스턴스 속성(읽기-쓰기) | 문자열 | 드라이브의 현재 작업 위치(§3.1.4)입니다. |
| 설명 | 인스턴스 속성(읽기-쓰기) | 문자열 | 드라이브에 대한 설명 |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 드라이브의 이름 |
| 뿌리 | 인스턴스 속성(읽기 전용) | 문자열 | 드라이브의 이름 |
PowerShell에서 이 형식은 System.Management.Automation.PSDriveInfo.
4.5.3 변수 설명 형식
이 형식은 변수의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 특성 | 인스턴스 속성(읽기 전용) | 정의된 구현 | 특성 컬렉션 |
| 설명 | 인스턴스 속성(읽기-쓰기) | 문자열 | New-Variable 또는 Set-Variable cmdlet을 통해 변수에 할당된 설명입니다. |
| 모듈 | 인스턴스 속성(읽기 전용) | 구현 정의됨(§4.5.12) | 이 변수를 내보낸 모듈 |
| 모듈 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 이 변수가 정의된 모듈 |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | PowerShell 언어로 만들 때 또는 New-Variable 및 Set-Variable cmdlet을 통해 변수에 할당된 이름입니다. |
| 옵션 | 인스턴스 속성(읽기-쓰기) | 문자열 |
New-Variable 및 Set-Variable cmdlet을 통해 변수에 할당된 옵션입니다. |
| 가치 | 인스턴스 속성(읽기-쓰기) | 객체 | PowerShell 언어 또는 New-Variable 및 Set-Variable cmdlet을 통해 변수가 설정될 때 부여된 값입니다. |
PowerShell에서 이 형식은 System.Management.Automation.PSVariable.
Windows PowerShell: 특성 컬렉션의 형식은 System.Management.Automation.PSVariableAttributeCollection입니다.
4.5.4 별칭 설명 유형
이 형식은 별칭의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 명령 유형 | 인스턴스 속성(읽기 전용) | 정의된 구현 | "별칭"과 같아야 합니다. |
| 정의 | 인스턴스 속성(읽기 전용) | 문자열 | New-Alias 또는 Set-Alias cmdlet을 통해 별칭이 할당된 명령 또는 별칭입니다. |
| 설명 | 인스턴스 속성(읽기-쓰기) | 문자열 |
New-Alias 또는 Set-Alias cmdlet을 통해 별칭에 할당된 설명입니다. |
| 모듈 | 인스턴스 속성(읽기 전용) | 구현 정의됨(§4.5.12) | 이 별칭을 내보낸 모듈 |
| 모듈 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 이 별칭이 정의된 모듈 |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 |
New-Alias 또는 Set-Alias cmdlet을 통해 별칭을 만들 때 별칭에 할당된 이름입니다. |
| 옵션 | 인스턴스 속성(읽기-쓰기) | 문자열 | New-Alias New-Alias 또는 Set-Alias cmdlet을 통해 별칭에 할당된 옵션입니다. |
| 출력 유형 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 별칭이 참조하는 명령에 의해 출력되는 값의 형식을 지정합니다. |
| 매개 변수 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 명령의 매개 변수입니다. |
| 매개변수 집합 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 명령과 연결된 매개 변수 집합에 대한 정보입니다. |
| 참조된 명령 | 인스턴스 속성(읽기 전용) | 정의된 구현 | 이 별칭으로 즉시 참조되는 명령에 대한 정보입니다. |
| 명령어해결 | 인스턴스 속성(읽기 전용) | 정의된 구현 | 별칭이 최종적으로 해석되는 명령에 대한 정보입니다. |
PowerShell에서 이 형식은 System.Management.Automation.AliasInfo.
4.5.5 작업 위치 설명 유형
이 형식은 작업 위치의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 드라이브 | 인스턴스 속성(읽기 전용) | 구현 정의됨(§4.5.2) | 드라이브 설명 오브젝트 |
| 경로 | 인스턴스 속성(읽기 전용) | 문자열 | 작업 위치 |
| 공급자 | 인스턴스 속성(읽기 전용) | 구현 정의됨(§4.5.1) | 공급자 |
| ProviderPath | 인스턴스 속성(읽기 전용) | 문자열 | 공급자의 현재 경로 |
작업 위치의 스택은 위에서 설명한 대로 작업 위치 개체의 컬렉션입니다.
PowerShell에서 현재 작업 위치는 System.Management.Automation.PathInfo형식의 개체로 표시됩니다. 작업 위치의 스택은 System.Management.Automation.PathInfoStack 개체의 컬렉션인 PathInfo형식의 개체로 표시됩니다.
4.5.6 환경 변수 설명 형식
이 형식은 환경 변수의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 이름 | 인스턴스 속성(읽기-쓰기) | 문자열 | 환경 변수의 이름 |
| 가치 | 인스턴스 속성(읽기-쓰기) | 문자열 | 환경 변수의 값입니다. |
PowerShell에서 이 형식은 System.Collections.DictionaryEntry. 변수의 이름은 사전 키입니다. 환경 변수의 값은 사전 값입니다.
이름은 AliasProperty로, 키과 같음.
4.5.7 애플리케이션 설명 유형
이 형식은 애플리케이션의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 명령 유형 | 인스턴스 속성(읽기 전용) | 정의된 구현 | "애플리케이션"과 같아야 합니다. |
| 정의 | 인스턴스 속성(읽기 전용) | 문자열 | 애플리케이션에 대한 설명입니다. |
| 확장 | 인스턴스 속성(읽기-쓰기) | 문자열 | 애플리케이션 파일의 확장명입니다. |
| 모듈 | 인스턴스 속성(읽기 전용) | 구현 정의됨(§4.5.12) | 이 명령을 정의하는 모듈입니다. |
| 모듈 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 명령을 정의하는 모듈의 이름입니다. |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 명령의 이름입니다. |
| 출력 유형 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 명령에 의해 출력되는 값의 형식을 지정합니다. |
| 매개 변수 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 명령의 매개 변수입니다. |
| 매개변수 집합 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 명령과 연결된 매개 변수 집합에 대한 정보입니다. |
| 경로 | 인스턴스 속성(읽기 전용) | 문자열 | 애플리케이션 파일의 경로를 가져옵니다. |
PowerShell에서 이 형식은 System.Management.Automation.ApplicationInfo.
4.5.8 Cmdlet 설명 유형
이 형식은 cmdlet의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 명령 유형 | 인스턴스 속성(읽기 전용) | 정의된 구현 | "Cmdlet"과 비교하여 동일해야 합니다. |
| 기본 매개변수 집합 | 인스턴스 속성(읽기 전용) | 정의된 구현 | PowerShell에서 제공된 인수에 따라 사용할 매개 변수 집합을 확인할 수 없는 경우 사용되는 기본 매개 변수 집합입니다. |
| 정의 | 인스턴스 속성(읽기 전용) | 문자열 | cmdlet에 대한 설명입니다. |
| 도움말 파일 | 인스턴스 속성(읽기-쓰기) | 문자열 | cmdlet에 대한 도움말 파일의 경로입니다. |
| 구현 유형 | 인스턴스 속성(읽기-쓰기) | 정의된 구현 | cmdlet을 구현하는 형식입니다. |
| 모듈 | 인스턴스 속성(읽기 전용) | 구현 정의됨(§4.5.12) | 이 cmdlet을 정의하는 모듈입니다. |
| 모듈 이름 | 인스턴스 속성(읽기 전용) | 문자열 | cmdlet을 정의하는 모듈의 이름입니다. |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | cmdlet의 이름입니다. |
| 명사 | 인스턴스 속성(읽기 전용) | 문자열 | cmdlet의 이름(명사)입니다. |
| 출력 유형 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | cmdlet에서 출력하는 값의 형식을 지정합니다. |
| 매개 변수 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | cmdlet의 매개 변수입니다. |
| 매개변수 집합 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | cmdlet과 연결된 매개 변수 집합에 대한 정보입니다. |
| 동사 | 인스턴스 속성(읽기 전용) | 문자열 | cmdlet의 동사 이름입니다. |
| PSSnapIn | 인스턴스 속성(읽기 전용) | 정의된 구현 | Windows PowerShell: cmdlet을 등록하는 데 사용되는 Windows PowerShell 스냅인에 대한 정보입니다. |
PowerShell에서 이 형식은 System.Management.Automation.CmdletInfo.
4.5.9 외부 스크립트 설명 유형
이 형식은 외부 스크립트의 상태를 캡슐화합니다(PowerShell에서 직접 실행 가능하지만 기본 제공되지 않은 스크립트). 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 명령 유형 | 인스턴스 속성(읽기 전용) | 정의된 구현 | "ExternalScript"과 비교하여 동일해야 합니다. |
| 정의 | 인스턴스 속성(읽기 전용) | 문자열 | 스크립트의 정의입니다. |
| 모듈 | 인스턴스 속성(읽기 전용) | 구현 정의됨(§4.5.12) | 이 스크립트를 정의하는 모듈입니다. |
| 모듈 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 스크립트를 정의하는 모듈의 이름입니다. |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 스크립트의 이름입니다. |
| 변환 전 인코딩 | 인스턴스 속성(읽기 전용) | 정의된 구현 | 스크립트의 문자를 바이트로 변환하는 데 사용되는 원래 인코딩입니다. |
| 출력 유형 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 스크립트에서 출력하는 값의 형식을 지정합니다. |
| 매개 변수 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 스크립트의 매개 변수입니다. |
| 매개변수 집합 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 스크립트와 연결된 매개 변수 집합에 대한 정보입니다. |
| 경로 | 인스턴스 속성(읽기 전용) | 문자열 | 스크립트 파일의 경로입니다. |
| ScriptBlock | 인스턴스 속성(읽기 전용) | 스크립트 블록 | 외부 스크립트입니다. |
| ScriptContents | 인스턴스 속성(읽기 전용) | 문자열 | 스크립트의 원래 내용입니다. |
PowerShell에서 이 형식은 System.Management.Automation.ExternalScriptInfo.
4.5.10 함수 설명 형식
이 형식은 함수의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| Cmdlet 바인딩 | 인스턴스 속성(읽기 전용) | bool | 함수가 컴파일된 cmdlet에서 사용하는 것과 동일한 매개 변수 바인딩을 사용하는지 여부를 나타냅니다(§12.3.5참조). |
| 명령 유형 | 인스턴스 속성(읽기 전용) | 정의된 구현 | 이 객체가 "Function" 또는 "Filter"와 같은지 동등성을 비교하여 무엇을 나타내는지 확인할 수 있습니다. |
| 기본 매개변수 집합 | 인스턴스 속성(읽기 전용) | 문자열 | 인수에서 확인할 수 없는 경우 사용할 매개 변수 집합을 지정합니다(§12.3.5참조). |
| 정의 | 인스턴스 속성(읽기 전용) | 문자열 | ScriptBlock의 문자열 버전 |
| 설명 | 인스턴스 속성(읽기-쓰기) | 문자열 | 함수에 대한 설명입니다. |
| 모듈 | 인스턴스 속성(읽기 전용) | 구현 정의됨(§4.5.12) | 이 함수를 내보낸 모듈 |
| 모듈 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 이 함수가 정의된 모듈 |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 함수의 이름입니다. |
| 옵션 | 인스턴스 속성(읽기-쓰기) | 정의된 구현 | 함수의 범위 옵션(§3.5.4)입니다. |
| 출력 유형 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 출력 값의 형식을 순서대로 지정합니다(§12.3.6참조). |
| 매개 변수 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 매개 변수 이름을 순서대로 지정합니다. 함수가 cmdlet처럼 작동하는 경우(위의 CmdletBinding 참조) 공통 매개 변수 컬렉션의 끝에 포함됩니다. |
| 매개변수 집합 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 명령과 연결된 매개 변수 집합에 대한 정보입니다. 각 매개 변수에 대해 결과는 매개 변수 이름 및 형식을 표시하고 매개 변수가 위치 또는 [switch] 매개 변수별로 필수인지 여부를 나타냅니다. 함수가 cmdlet처럼 작동하는 경우(위의 CmdletBinding 참조) 공통 매개 변수 컬렉션의 끝에 포함됩니다. |
| ScriptBlock | 인스턴스 속성(읽기 전용) | 스크립트 블록 (§4.3.6) | 함수의 본문 |
PowerShell에서 이 형식은 System.Management.Automation.FunctionInfo.
-
CommandType은System.Management.Automation.CommandTypes유형입니다. -
Options은System.Management.Automation.ScopedItemOptions유형입니다. -
OutputType은System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]유형입니다. -
Parameters은System.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]유형입니다. -
ParameterSets은System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]]유형입니다. - 가시성 유형은
System.Management.Automation.SessionStateEntryVisibility입니다. - PowerShell에는 Visibility라는 속성도 있습니다.
4.5.11 필터 설명 유형
이 형식은 필터의 상태를 캡슐화합니다. 함수 설명 형식(§4.5.10)과 동일한 액세스 가능 멤버 집합이 있습니다.
PowerShell에서 이 형식은 System.Management.Automation.FilterInfo.
System.Management.Automation.FunctionInfo(§4.5.11)와 동일한 속성 집합이 있습니다.
4.5.12 모듈 설명 유형
이 형식은 모듈의 상태를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 설명 | 인스턴스 속성(읽기-쓰기) | 문자열 | 모듈에 대한 설명(매니페스트에 의해 설정됨) |
| 모듈 유형 | 인스턴스 속성(읽기 전용) | 정의된 구현 | 모듈의 형식(매니페스트, 스크립트 또는 이진) |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 모듈의 이름 |
| 경로 | 인스턴스 속성(읽기 전용) | 문자열 | 모듈의 경로 |
PowerShell에서 이 형식은 System.Management.Automation.PSModuleInfo.
ModuleType의 형식은 System.Management.Automation.ModuleType입니다.
4.5.13 사용자 지정 개체 설명 형식
이 형식은 사용자 지정 개체의 상태를 캡슐화합니다. 액세스 가능한 멤버가 없습니다.
PowerShell에서 이 형식은 System.Management.Automation.PSCustomObject.
Import-Module 및 New-Object cmdlet은 이 형식의 개체를 생성할 수 있습니다.
4.5.14 명령 설명 유형
$PSCmdlet 자동 변수는 실행 중인 cmdlet 또는 함수를 나타내는 개체입니다. 이 개체의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 매개변수 세트 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 현재 매개 변수 집합의 이름(ParameterSetName 참조) |
| 계속할까요 | 인스턴스 메서드 | 과부하 /bool |
사용자의 작업 확인을 요청합니다. |
| ShouldProcess | 인스턴스 메서드 | 과부하 /bool |
작업을 수행하기 전에 사용자에게 확인을 요청합니다. |
PowerShell에서 이 형식은 System.Management.Automation.PSScriptCmdlet입니다.
4.5.15 오류 레코드 설명 유형
자동 변수 $Error 최근 오류를 나타내는 오류 레코드 컬렉션(§3.12)을 포함합니다. 이 컬렉션의 형식은 지정되지 않았지만 개별 오류 레코드에 대한 액세스 권한을 얻기 위한 첨자를 지원합니다.
PowerShell에서 컬렉션 형식은 System.Collections.ArrayList. 컬렉션에 있는 개별 오류 레코드의 형식이 System.Management.Automation.ErrorRecord. 이 형식에는 다음과 같은 공용 속성이 있습니다.
- CategoryInfo - 오류 범주에 대한 정보를 가져옵니다.
- ErrorDetails - 대체 오류 메시지와 같은 보다 자세한 오류 정보를 가져오고 설정합니다.
- 예외 - 이 오류 레코드와 연결된 예외를 가져옵니다.
- FullyQualifiedErrorId - 이 오류 레코드에 대한 정규화된 오류 식별자를 가져옵니다.
- InvocationInfo - 오류가 발생했을 때 호출된 명령에 대한 정보를 가져옵니다.
- PipelineIterationInfo - 이 오류 레코드를 만들 때 파이프라인의 상태를 가져옵니다.
- TargetObject - 오류가 발생했을 때 처리 중인 개체를 가져옵니다.
4.5.16 열거자 설명 유형
여러 변수는 컬렉션의 열거자입니다(§4).
$foreach 자동 변수는 모든 foreach 문에 대해 생성된 열거자입니다.
$input 자동 변수는 파이프라인에서 함수로 전달되는 컬렉션의 열거자입니다.
$switch 자동 변수는 모든 switch 문에 대해 생성된 열거자입니다.
열거자의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 전류 | 인스턴스 속성(읽기 전용) | 객체 | 컬렉션의 현재 요소를 가져옵니다. 열거자가 현재 컬렉션의 요소에 위치하지 않은 경우 동작은 구현이 정의됩니다. |
| 다음으로 이동 | 인스턴스 메서드 | 없음/부울 | 열거자를 컬렉션의 다음 요소로 진행합니다. 열거자가 다음 요소로 성공적으로 이동했다면 $true를 반환합니다. 열거자가 컬렉션의 끝을 지나가면 $false를 반환합니다. |
PowerShell에서 이러한 멤버는 아래 식별된 형식에 의해 구현되는 인터페이스 System.IEnumerator정의됩니다. 열거자가 현재 컬렉션의 요소에 배치되지 않은 경우 InvalidOperationException 형식의 예외가 발생합니다.
$foreach경우 이 형식은 System.Array+SZArrayEnumerator.
$input경우 이 형식은 System.Collections.ArrayList+ArrayListEnumeratorSimple.
$switch경우 이 형식은 System.Array+SZArrayEnumerator.
4.5.17 디렉터리 설명 유형
새 항목 cmdlet은 FileSystem 디렉터리를 비롯한 다양한 종류의 항목을 만들 수 있습니다. 디렉터리 설명 개체의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 특성 | 인스턴스 속성(읽기-쓰기) | 구현 정의됨(§4.2.6.3) | 디렉터리 개체의 특성 중 하나 이상을 가져오거나 설정합니다. |
| 생성 시간 | 인스턴스 속성(읽기-쓰기) | 구현 정의됨(§4.5.19) | 디렉터리 개체의 생성 시간을 가져오고 설정합니다. |
| 확장 | 인스턴스 속성(읽기 전용) | 문자열 | 디렉터리 이름의 확장 부분을 가져옵니다. |
| 전체 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 디렉터리의 전체 경로를 가져옵니다. |
| 마지막 쓰기 시간 | 인스턴스 속성(읽기-쓰기) | 구현 정의됨(§4.5.19) | 디렉터리가 마지막으로 기록된 시간을 가져오고 설정합니다. |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 디렉터리의 이름을 가져옵니다. |
PowerShell에서 이 형식은 System.IO.DirectoryInfo.
Attributes 속성의 형식은 System.IO.FileAttributes.
4.5.18 파일 설명 형식
cmdlet New-Item FileSystem 파일을 포함하여 다양한 종류의 항목을 만들 수 있습니다. 파일 설명 개체의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 특성 | 인스턴스 속성(읽기-쓰기) | 구현 정의됨(§4.2.6.3) | 파일 개체의 특성 중 하나 이상을 가져오거나 설정합니다. |
| BaseName | 인스턴스 속성(읽기 전용) | 문자열 | 확장명을 제외한 파일의 이름을 가져옵니다. |
| 생성 시간 | 인스턴스 속성(읽기-쓰기) | 구현 정의됨(§4.5.19) | 파일 개체의 생성 시간을 가져오고 설정합니다. |
| 확장 | 인스턴스 속성(읽기 전용) | 문자열 | 파일 이름의 확장 부분을 가져옵니다. |
| 전체 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 파일의 전체 경로를 가져옵니다. |
| 마지막 쓰기 시간 | 인스턴스 속성(읽기-쓰기) | 구현 정의됨(§4.5.19) | 파일을 마지막으로 쓴 시간을 가져오고 설정합니다. |
| 길이 | 인스턴스 속성(읽기 전용) | 길다 | 파일의 크기를 바이트 단위로 가져옵니다. |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 파일의 이름을 가져옵니다. |
| 버전 정보 | 인스턴스 속성(읽기 전용) | 정의된 구현 | Windows PowerShell: 이 ScriptProperty는 파일에 대한 System.Diagnostics.FileVersionInfo를 반환합니다. |
PowerShell에서 이 형식은 System.IO.FileInfo.
4.5.19 Date-Time 설명 유형
날짜-시간 설명 개체의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 하루 | 인스턴스 속성(읽기 전용) | 정수 (int) | 이 인스턴스가 나타내는 월의 일 구성 요소를 가져옵니다. |
| 한 시간 | 인스턴스 속성(읽기 전용) | 정수 (int) | 이 인스턴스가 나타내는 날짜의 시간 구성 요소를 가져옵니다. |
| 분 | 인스턴스 속성(읽기 전용) | 정수 (int) | 이 인스턴스가 나타내는 날짜의 분 구성 요소를 가져옵니다. |
| 월 | 인스턴스 속성(읽기 전용) | 정수 (int) | 이 인스턴스가 나타내는 날짜의 월 구성 요소를 가져옵니다. |
| 둘째 | 인스턴스 속성(읽기 전용) | 정수 (int) | 이 인스턴스가 나타내는 날짜의 초 구성 요소를 가져옵니다. |
| 연도 | 인스턴스 속성(읽기 전용) | 정수 (int) | 이 인스턴스가 나타내는 날짜의 연도 구성 요소를 가져옵니다. |
이 형식의 개체는 get-Date cmdlet을 통해 만들 수 있습니다.
PowerShell에서 이 형식은 System.DateTime.
4.5.20 Group-Info 설명 유형
그룹 정보 설명 개체의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 목적 |
|---|---|---|---|
| 수량 | 인스턴스 속성(읽기 전용) | 정수 (int) | 그룹의 요소 수를 가져옵니다. |
| 그룹 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 그룹의 요소를 가져옵니다. |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 그룹의 이름을 가져옵니다. |
| 가치들 | 인스턴스 속성(읽기 전용) | 구현 정의 컬렉션 | 그룹 요소의 값을 가져옵니다. |
이 형식의 개체는 group-Object cmdlet을 통해 만들 수 있습니다.
PowerShell에서 이 형식은 Microsoft.PowerShell.Commands.GroupInfo.
4.5.21 일반-Measure-Info 설명 유형
generic-measure-info 설명 개체의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 평균 | 인스턴스 속성(읽기 전용) | 더블 | 측정되는 속성 값의 평균을 가져옵니다. |
| 수량 | 인스턴스 속성(읽기 전용) | 정수 (int) | 지정된 속성을 가진 개체 수를 가져옵니다. |
| 최대 | 인스턴스 속성(읽기 전용) | 더블 | 지정된 속성의 최대값을 가져옵니다. |
| 최소 | 인스턴스 속성(읽기 전용) | 더블 | 지정된 속성의 최소값을 가져옵니다. |
| 재산 | 인스턴스 속성(읽기 전용) | 문자열 | 측정할 속성을 가져오는 작업을 수행합니다. |
| 합계 | 인스턴스 속성(읽기 전용) | 더블 | 지정된 속성 값의 합계를 가져옵니다. |
이 형식의 개체는 measure-Object cmdlet을 통해 만들 수 있습니다.
PowerShell에서 이 형식은 Microsoft.PowerShell.Commands.GenericMeasureInfo.
4.5.22 텍스트-Measure-Info 설명 유형
텍스트 정보 설명 개체의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 문자 | 인스턴스 속성(읽기 전용) | 정수 (int) | 대상 개체의 문자 수를 가져옵니다. |
| 라인 | 인스턴스 속성(읽기 전용) | 정수 (int) | 대상 개체의 줄 수를 가져옵니다. |
| 재산 | 인스턴스 속성(읽기 전용) | 문자열 | 측정할 속성을 가져오는 작업을 수행합니다. |
| 가사 | 인스턴스 속성(읽기 전용) | 정수 (int) | 대상 개체의 단어 수를 가져옵니다. |
이 형식의 개체는 cmdlet Measure-Object만들 수 있습니다.
PowerShell에서 이 형식은 Microsoft.PowerShell.Commands.TextMeasureInfo.
4.5.23 자격 증명 유형
그런 다음 다양한 보안 작업에서 자격 증명 개체를 사용할 수 있습니다. 자격 증명 개체의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 목적 |
|---|---|---|---|
| 암호 | 인스턴스 속성(읽기 전용) | 정의된 구현 | 암호를 가져옵니다. |
| 사용자 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 사용자 이름을 가져옵니다. |
이 형식의 개체는 get-Credential cmdlet을 통해 만들 수 있습니다.
PowerShell에서 이 형식은 System.Management.Automation.PSCredential.
4.5.24 메서드 지정자 유형
메서드 지정자의 형식은 구현이 정의됩니다. 액세스 가능한 멤버는 다음과 같습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 호출 | 인스턴스 메서드 | 개체/변수 번호 및 형식 | 가변 개수의 인수를 사용하고 부모 메서드 지정자가 참조하는 메서드를 간접적으로 호출하여 인수를 전달합니다. |
이 형식의 개체는 호출 식(§7.1.3)을 통해 만들 수 있습니다.
PowerShell에서 이 형식은 System.Management.Automation.PSMethod입니다.
4.5.25 멤버 정의 형식
이 형식은 멤버의 정의를 캡슐화합니다. 다음과 같은 액세스 가능한 멤버가 있습니다.
| 회원 | 멤버 종류 | 유형 | 용도 |
|---|---|---|---|
| 정의 | 인스턴스 속성(읽기 전용) | 문자열 | 멤버의 정의를 가져옵니다. |
| 회원 유형 | 인스턴스 속성(읽기 전용) | 정의된 구현 | 멤버의 PowerShell 형식을 가져옵니다. |
| 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 멤버의 이름을 가져옵니다. |
| 유형 이름 | 인스턴스 속성(읽기 전용) | 문자열 | 멤버의 형식 이름을 가져옵니다. |
PowerShell에서 이 형식은 Microsoft.PowerShell.Commands.MemberDefinition.
4.6 형식 확장 및 적응
PowerShell 구현에는 각각 고유한 기본 멤버 집합이 포함된 핵심 형식의 집합()이 있으며, 이는 이 챕터에 설명되어 있습니다. 이러한 멤버는 메서드 또는 속성일 수 있으며 인스턴스 또는 정적 멤버일 수 있습니다. 예를 들어 형식 문자열(§4.3.1)의 기본 멤버는 인스턴스 속성 Length 및 인스턴스 메서드 ToLower 및 ToUpper입니다.
개체를 만들면 해당 개체 형식의 모든 인스턴스 속성이 포함되며 해당 개체에서 해당 형식의 인스턴스 메서드를 호출할 수 있습니다. 런타임에 인스턴스 멤버를 추가하여 개체를 사용자 지정할 수 있습니다. 결과는 사용자 지정 개체로 불립니다. 인스턴스에 추가된 멤버는 해당 인스턴스의 수명 동안만 존재합니다. 동일한 코어 형식의 다른 인스턴스는 영향을 받지 않습니다.
다음 종류의 멤버를 추가하여 형식의 기본 멤버 집합을 보강할 수 있습니다.
- 적응 멤버는 ETS(확장 형식 시스템)를 통해있으며, 그 중 대부분의 세부 정보는 지정되지 않습니다.
- cmdlet Add-Member를 통해 이(가) 확장 멤버을 추가합니다.
PowerShell에서 확장 멤버는 types.ps1xml 파일을 통해 추가할 수도 있습니다. 적응형 및 확장 멤버는 집합적으로 합성 멤버로 불립니다.
ETS는 모든 PowerShell 개체에 다음 멤버를 추가합니다. psbase, psadapted, psextended및 pstypenames . 이러한 멤버에 대한 자세한 내용은 cmdlet Get-Member강제 및 보기 매개 변수를 참조하세요.
인스턴스 멤버는 같은 이름의 확장 및/또는 적응 멤버를 숨길 수 있으며 확장 멤버는 적응 멤버를 숨길 수 있습니다. 이러한 경우, 멤버 세트 psadapted 및 psextended을(를) 사용하여 숨겨진 멤버에 액세스할 수 있습니다.
types.ps1xml이 Supports라는 멤버를 지정하는 경우, obj.psextended은 해당 멤버에만 액세스를 제공하며, Add-Member를 통해 추가된 멤버에는 액세스하지 않습니다.
새 멤버 M이 있는 사용자 지정 개체를 만드는 방법에는 세 가지가 있습니다.
이 방법을 사용하여 하나 이상의 NoteProperty 멤버를 추가할 수 있습니다.
$x = New-Object PSObject -Property @{M = 123}이 방법을 사용하여 NoteProperty 또는 ScriptMethod 멤버를 추가할 수 있습니다.
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}이 방법을 사용하여 모든 종류의 멤버를 추가할 수 있습니다.
$x = New-Object PSObject Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
PSObject 모든 PowerShell 형식의 기본 형식입니다.
PowerShell