Get-Random
난수를 가져오거나 컬렉션에서 개체를 임의로 선택합니다.
구문
Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>] [<CommonParameters>]
Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>] [<CommonParameters>]
설명
Get-Random cmdlet은 임의로 선택된 숫자를 가져옵니다. 개체 컬렉션을 Get-Random으로 전송하면 컬렉션에서 임의로 선택된 개체를 하나 이상 가져옵니다.
Get-Random 명령은 매개 변수나 입력을 사용하지 않고 0에서 Int32.MaxValue(0x7FFFFFFF, 2,147,483,647) 사이에서 임의로 선택된 부호 없는 32비트 정수를 반환합니다.
Get-Random의 매개 변수를 사용하여 시드 번호, 최소값 및 최대값, 전송된 컬렉션에서 반환되는 개체 수를 지정할 수 있습니다.
매개 변수
-Count <int>
반환되는 개체 수를 결정합니다. 기본값은 1입니다. Count 값이 컬렉션의 개체 수를 초과하면 Get-Random은 모든 개체를 임의의 순서로 반환합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
1 |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-InputObject <Object[]>
개체 컬렉션을 지정합니다. Get-Random은 컬렉션에서 임의로 선택된 개체를 임의의 순서로 가져옵니다. 개체, 개체가 포함된 변수, 개체를 가져오는 명령 또는 식을 입력하십시오. 개체 컬렉션을 Get-Random으로 파이프할 수도 있습니다.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue) |
와일드카드 문자 적용 여부 |
false |
-Maximum <Object>
난수의 최대값을 지정합니다. Get-Random은 최대값보다 작은(같지 않음) 값을 반환합니다. 32비트 정수나 배정밀도 부동 소수점 수를 입력하거나 숫자 문자열(예: "100")과 같이 정수나 배정밀도 수로 변환할 수 있는 개체를 입력합니다. Maximum 값은 Minimum 값보다 커야 하며 Minimum 값과 같아서는 안 됩니다.
Maximum 또는 Minimum 값이 부동 소수점 수이면 Get-Random은 임의로 선택된 부동 소수점 수를 반환합니다.
Minimum 값이 배정밀도 수(부동 소수점 수)인 경우 Maximum의 기본값은 Double.MaxValue이고, 그렇지 않으면 기본값은 Int32.MaxValue(2,147,483,647 또는 0x7FFFFFFF)입니다.
필수 여부 |
false |
위치 |
1 |
기본값 |
Int32.MaxValue |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Minimum <Object>
난수의 최소값을 지정합니다. 32비트 정수나 배정밀도 부동 소수점 수를 입력하거나 숫자 문자열(예: "100")과 같이 정수나 배정밀도 수로 변환할 수 있는 개체를 입력합니다. 기본값은 0입니다.
Minimum 값은 Maximum 값보다 작아야 하며 Maximum 값과 같아서는 안 됩니다. Maximum 또는 Minimum 값이 부동 소수점 수이면 Get-Random은 임의로 선택된 부동 소수점 수를 반환합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
0 |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-SetSeed <int>
난수 생성기의 시드 값을 지정합니다. 시드 값은 현재 명령에 사용되며 SetSeed를 다시 사용하거나 세션을 닫을 때까지 현재 세션의 모든 후속 Get-Random 명령에 사용됩니다. 시드는 기본값인 클럭 기반 값으로 다시 설정할 수 없습니다.
SetSeed 매개 변수는 필요하지 않습니다. 기본적으로 Get-Random은 시스템 클럭을 사용하여 시드 값을 생성합니다. SetSeed를 사용하면 동작이 임의로 수행되지 않으므로, 일반적으로 Get-Random 명령을 포함하는 스크립트를 디버깅 또는 분석할 때와 같이 동작을 재현하려는 경우에만 SetSeed를 사용합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
시스템 클럭 |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
<CommonParameters>
이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.
입력 및 출력
입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.
입력 |
System.Object 하나 이상의 개체를 Get-Random으로 파이프할 수 있습니다. Get-Random은 파이프된 개체에서 값을 임의로 선택합니다. |
출력 |
System.Object Get-Random은 정수나 부동 소수점 수 또는 전송된 컬렉션에서 임의로 선택된 개체를 반환합니다. |
참고
Get-Random은 세션 시작 시 시스템 시간 클럭을 기준으로 각 세션의 기본 시드를 설정합니다.
예 1
C:\PS>get-random
3951433
설명
-----------
이 명령은 0에서 Int32.MaxValue 사이의 임의의 정수를 가져옵니다.
예 2
C:\PS>get-random -maximum 100
47
설명
-----------
이 명령은 0에서 99 사이의 임의의 정수를 가져옵니다.
예 3
C:\PS>get-random -minimum -100 -maximum 100
-56
설명
-----------
이 명령은 -100에서 99 사이의 임의의 정수를 가져옵니다.
예 4
C:\PS>get-random -min 10.7 -max 20.93
18.08467273887
설명
-----------
이 명령은 10.7 이상 20.92 미만인 임의의 부동 소수점 수를 가져옵니다.
예 5
C:\PS>get-random -input 1, 2, 3, 5, 8, 13
8
설명
-----------
이 명령은 지정된 배열에서 임의로 선택된 숫자를 가져옵니다.
예 6
C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count 3
3
1
13
설명
-----------
이 명령은 배열에서 임의로 선택된 숫자 3개를 임의의 순서로 가져옵니다.
예 7
C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count ([int]::MaxValue)
2
3
5
1
8
13
설명
-----------
이 명령은 임의의 순서로 전체 컬렉션을 반환합니다. Count 매개 변수의 값은 정수의 MaxValue 정적 속성입니다.
전체 컬렉션을 임의의 순서로 반환하려면 컬렉션의 개체 수보다 크거나 같은 수를 입력합니다.
예 8
C:\PS>get-random -input "red", "yellow", "blue"
yellow
설명
-----------
이 명령은 숫자가 아닌 컬렉션에서 임의의 값을 반환합니다.
예 9
C:\PS>get-process | get-random
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
144 4 2080 488 36 0.48 3164 wmiprvse
설명
-----------
이 명령은 컴퓨터의 프로세스 컬렉션에서 임의로 선택된 프로세스를 가져옵니다.
예 10
C:\PS>get-content servers.txt | get-random -count (get-content servers.txt).count | foreach {invoke-expression -computer $_ -command 'get-process powershell'}
설명
-----------
이 명령은 일련의 원격 컴퓨터에서 임의의 순서로 명령을 실행합니다.
예 11
C:\PS>get-random -max 100 -setseed 23
# Commands with the default seed are pseudorandom
PS C:\ps-test> get-random -max 100
59
PS C:\ps-test> get-random -max 100
65
PS C:\ps-test> get-random -max 100
21
# Commands with the same seed are not random
PS C:\ps-test> get-random -max 100 -setseed 23
74
PS C:\ps-test> get-random -max 100 -setseed 23
74
PS C:\ps-test> get-random -max 100 -setseed 23
74
# SetSeed results in a repeatable series
PS C:\ps-test> get-random -max 100 -setseed 23
74
PS C:\ps-test> get-random -max 100
56
PS C:\ps-test> get-random -max 100
84
PS C:\ps-test> get-random -max 100
46
PS C:\ps-test> get-random -max 100 -setseed 23
74
PS C:\ps-test> get-random -max 100
56
PS C:\ps-test> get-random -max 100
84
PS C:\ps-test> get-random -max 100
46
설명
-----------
이 예에서는 SetSeed 매개 변수를 사용하는 경우의 효과를 보여 줍니다. SetSeed를 사용하면 동작이 임의로 수행되지 않으므로, 일반적으로 스크립트를 디버깅 또는 분석할 때와 같이 결과를 재현하려는 경우에만 SetSeed를 사용합니다.
예 12
C:\PS>$files = dir -path c:\* -recurse
C:\PS> $sample = $files | get-random -count 50
설명
-----------
이들 명령은 로컬 컴퓨터의 C: 드라이브에서 임의로 선택된 50개의 파일을 가져옵니다.
예 13
C:\PS>get-random 10001
7600
설명
-----------
이 명령은 10001보다 작은 임의의 정수를 가져옵니다. Maximum 매개 변수의 위치는 1이므로 값이 명령에서 첫 번째로 오거나 명명되지 않은 유일한 매개 변수이면 매개 변수 이름을 생략해도 됩니다.