다음을 통해 공유


Get-SecureRandom

난수를 가져오거나 컬렉션에서 임의로 개체를 선택합니다.

구문

RandomNumberParameterSet (기본값)

Get-SecureRandom
    [[-Maximum] <Object>]
    [-Minimum <Object>]
    [-Count <Int32>]
    [<CommonParameters>]

RandomListItemParameterSet

Get-SecureRandom
    [-InputObject] <Object[]>
    [-Count <Int32>]
    [<CommonParameters>]

ShuffleParameterSet

Get-SecureRandom
    [-InputObject] <Object[]>
    [-Shuffle]
    [<CommonParameters>]

Description

Get-SecureRandom cmdlet은 임의로 선택된 숫자를 가져옵니다. Get-SecureRandom개체 컬렉션을 제출하면 컬렉션에서 하나 이상의 임의로 선택된 개체를 가져옵니다.

매개 변수나 입력이 없으면 Get-SecureRandom 명령은 0에서 [int32]::MaxValue사이에 임의로 선택된 32비트 부호 없는 정수를 반환합니다.

Get-SecureRandom 매개 변수를 사용하여 컬렉션에서 반환된 개체의 최소값과 최대값을 지정할 수 있습니다.

Get-SecureRandom RandomNumberGenerator 클래스를 사용하여 암호화적으로 안전한 임의성을 생성합니다.

예제

예제 1: 임의 정수 가져오기

이 명령은 0에서 Int32.MaxValue사이의 임의 정수를 가져옵니다.

Get-SecureRandom
3951433

예제 2: 0에서 99 사이의 임의 정수 가져오기

Get-SecureRandom -Maximum 100
47

예제 3: -100 99 사이의 임의 정수 가져오기

Get-SecureRandom -Minimum -100 -Maximum 100
56

예제 4: 임의 부동 소수점 숫자 가져오기

이 명령은 10.7보다 크거나 같고 20.93보다 작은 임의 부동 소수점 숫자를 가져옵니다.

Get-SecureRandom -Minimum 10.7 -Maximum 20.93
18.08467273887

예제 5: 배열에서 임의 정수 가져오기

이 명령은 지정된 배열에서 임의로 선택된 숫자를 가져옵니다.

1, 2, 3, 5, 8, 13 | Get-SecureRandom
8

예제 6: 배열에서 여러 임의 정수 가져오기

이 명령은 배열에서 임의로 선택된 세 개의 숫자를 임의 순서로 가져옵니다.

1, 2, 3, 5, 8, 13 | Get-SecureRandom -Count 3
3
1
13

예제 7: 전체 컬렉션 임의화

Shuffle 매개 변수를 사용하여 전체 컬렉션을 임의 순서로 반환할 수 있습니다.

1, 2, 3, 5, 8, 13 | Get-SecureRandom -Shuffle
2
3
5
1
8
13

예제 8: 숫자가 아닌 임의의 값 가져오기

이 명령은 숫자가 아닌 컬렉션에서 임의의 값을 반환합니다.

"red", "yellow", "blue" | Get-SecureRandom
yellow

예제 9: 임의 파일 가져오기

이러한 명령은 로컬 컴퓨터의 C: 드라이브에서 임의로 선택된 50개의 파일 샘플을 가져옵니다.

$Files = Get-ChildItem -Path C:\* -Recurse
$Sample = $Files | Get-SecureRandom -Count 50

예제 10: 공정한 주사위 출시

이 예제에서는 fair die를 1200번 롤아웃하고 결과를 계산합니다. 첫 번째 명령인 ForEach-Object 파이프된 숫자에서 Get-SecureRandom 호출을 반복합니다(1-6). 결과는 Group-Object 값을 기준으로 그룹화되고 Select-Object있는 테이블로 서식이 지정됩니다.

1..1200 | ForEach-Object {
    1..6 | Get-SecureRandom
} | Group-Object | Select-Object Name,Count
Name Count
---- -----
1      206
2      199
3      196
4      226
5      185
6      188

예제 11: Count 매개 변수 사용

개체를 파이핑하지 않고도 Count 매개 변수를 사용하여 Get-SecureRandom수 있습니다. 다음 예제에서는 10보다 작은 세 개의 난수를 가져옵니다.

Get-SecureRandom -Count 3 -Maximum 10
9
0
8

예제 12: 빈 문자열 또는 $null 함께 InputObject 매개 변수 사용

이 예제에서 InputObject 매개 변수는 빈 문자열('') 및 $null포함하는 배열을 지정합니다.

Get-SecureRandom -InputObject @('a','',$null)

Get-SecureRandom a, 빈 문자열 또는 $null반환합니다. 빈 문자열은 빈 줄로 표시되고 $null PowerShell 프롬프트로 돌아갑니다.

매개 변수

-Count

반환할 임의의 개체 수를 지정합니다. 기본값은 1입니다.

컬렉션을 포함하는 InputObject 함께 사용하는 경우:

  • 임의로 선택한 각 항목은 한 번만 반환됩니다.
  • Count 값이 컬렉션의 개체 수를 초과하면 컬렉션의 모든 개체가 임의 순서로 반환됩니다.

매개 변수 속성

형식:Int32
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

RandomNumberParameterSet
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False
RandomListItemParameterSet
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-InputObject

개체 컬렉션을 지정합니다. Get-SecureRandom 컬렉션에서 임의로 선택한 개체를 Count지정된 수까지 임의 순서로 가져옵니다. 개체, 개체를 포함하는 변수 또는 개체를 가져오는 명령이나 식을 입력합니다. 개체 컬렉션을 Get-SecureRandom파이프할 수도 있습니다.

InputObject 매개 변수는 빈 문자열 또는 $null포함할 수 있는 배열을 허용합니다. 배열은 파이프라인 아래로 보내거나 InputObject 매개 변수 값으로 보낼 수 있습니다.

매개 변수 속성

형식:

Object[]

Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

RandomListItemParameterSet
Position:0
필수:True
파이프라인의 값:True
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False
ShuffleParameterSet
Position:0
필수:True
파이프라인의 값:True
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Maximum

난수의 최대값을 지정합니다. Get-SecureRandom 최대값(같지 않음)보다 작은 값을 반환합니다. 정수, 배정밀도 부동 소수점 숫자 또는 숫자 문자열("100")과 같이 정수 또는 double으로 변환할 수 있는 개체를 입력합니다.

최대 값은 최소값보다 커야 합니다. 최대 또는 최소 값이 부동 소수점 숫자인 경우 Get-SecureRandom 임의로 선택한 부동 소수점 숫자를 반환합니다.

64비트 컴퓨터에서 최소 값이 32비트 정수이면 최대 기본값은 int32.MaxValue .

최소 값이 double(부동 소수점 숫자)이면 최대 기본값은 double.MaxValue . 그렇지 않으면 기본값은 Int32.MaxValue.

매개 변수 속성

형식:Object
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

RandomNumberParameterSet
Position:0
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Minimum

난수의 최소값을 지정합니다. 정수, 배정밀도 부동 소수점 숫자 또는 숫자 문자열("100")과 같이 정수 또는 double으로 변환할 수 있는 개체를 입력합니다. 기본값은 0입니다.

최소 값은 최대값보다 작아야 합니다. 최대 또는 최소 값이 부동 소수점 숫자인 경우 Get-SecureRandom 임의로 선택한 부동 소수점 숫자를 반환합니다.

매개 변수 속성

형식:Object
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

RandomNumberParameterSet
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Shuffle

전체 컬렉션을 임의 순서로 반환합니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

ShuffleParameterSet
Position:Named
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

Object

모든 객체를 이 cmdlet에 파이핑할 수 있습니다. 파이프된 개체에서 임의로 값을 선택합니다.

출력

Int32

Int64

Double

PSObject

이 cmdlet은 정수 또는 부동 소수점 숫자 또는 제출된 컬렉션에서 임의로 선택된 개체를 반환합니다.

참고

Get-SecureRandom 항상 입력 값과 동일한 데이터 형식을 반환하지는 않습니다. 다음 표에서는 각 숫자 입력 형식에 대한 출력 형식을 보여줍니다.

입력 형식 출력 형식
S바이트 (SByte) 두 배
바이트 두 배
Int16 두 배
UInt16 두 배
Int32 Int32
UInt32 두 배
Int64 Int64
UInt64 두 배
두 배 두 배
싱글 두 배