Get-SecureRandom
乱数を取得するか、オブジェクトをコレクションからランダムに選択します。
構文
Get-SecureRandom
[[-Maximum] <Object>]
[-Minimum <Object>]
[-Count <Int32>]
[<CommonParameters>]
Get-SecureRandom
[-InputObject] <Object[]>
[-Count <Int32>]
[<CommonParameters>]
Get-SecureRandom
[-InputObject] <Object[]>
[-Shuffle]
[<CommonParameters>]
説明
Get-SecureRandom
コマンドレットは、ランダムに選択された番号を取得します。 Get-SecureRandom
にオブジェクトのコレクションを送信すると、そのコレクションからランダムに選択された 1 つ以上のオブジェクトが取得されます。
パラメーターまたは入力がない場合、 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: 配列から複数のランダムな整数を取得する
このコマンドは、配列からランダムに選択された 3 つの数値をランダムに取得します。
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: ロール フェア サイコロ
この例では、フェア ダイを 1200 回ロールし、結果をカウントします。 最初のコマンド ForEach-Object
、パイプされた番号 (1 から 6) から Get-SecureRandom
への呼び出しを繰り返します。 結果は値によって 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 未満の 3 つの乱数を取得します。
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
で使用する場合:
- ランダムに選択された各項目は 1 回だけ返されます。
- Countの値がコレクション内のオブジェクトの数を超えると、コレクション内のすべてのオブジェクトがランダムな順序で返されます。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
オブジェクトのコレクションを指定します。 Get-SecureRandom
は、コレクションからランダムに選択されたオブジェクトを、 Count で指定された数までランダムに取得します。 オブジェクト、オブジェクトを含む変数、またはオブジェクトを取得するコマンドまたは式を入力します。 オブジェクトのコレクションをパイプ処理して Get-SecureRandom
することもできます。
InputObject パラメーターは、空の文字列または$null
を含むことができる配列を受け入れます。 配列は、パイプラインに送信することも、 InputObject パラメーター値として送信することもできます。
型: | Object[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Maximum
乱数の最大値を指定します。 Get-SecureRandom
は、最大値 (等しくない) より小さい値を返します。 整数、倍精度浮動小数点数、または数値文字列 ("100") などの整数または double に変換できるオブジェクトを入力します。
Maximum の値は、Minimum の値より大きくする必要があります。 Maximum または Minimum の値が浮動小数点数の場合、Get-SecureRandom
はランダムに選択された浮動小数点数を返します。
64 ビット コンピューターでは、 Minimum の値が 32 ビット整数の場合、 Maximum の既定値は Int32.MaxValue です。
Minimum の値が double (浮動小数点数) の場合、既定値の Maximum は Double.MaxValue です。 それ以外の場合、既定値は Int32.MaxValue です。
型: | Object |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Minimum
乱数の最小値を指定します。 整数、倍精度浮動小数点数、または数値文字列 ("100") などの整数または double に変換できるオブジェクトを入力します。 既定値は 0 (ゼロ) です。
Minimumの値は、Maximumの値より小さくする必要があります。 Maximum または Minimum の値が浮動小数点数の場合、Get-SecureRandom
はランダムに選択された浮動小数点数を返します。
型: | Object |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Shuffle
ランダム化された順序でコレクション全体を返します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
任意のオブジェクトをこのコマンドレットにパイプできます。 パイプされたオブジェクトからランダムに値を選択します。
出力
このコマンドレットは、整数または浮動小数点数、または送信されたコレクションからランダムに選択されたオブジェクトを返します。
メモ
Get-SecureRandom
は、常に入力値と同じデータ型を返すわけではありません。 次の表に、各数値入力の種類の出力の種類を示します。
入力タイプ | 出力の種類 |
---|---|
SByte | 倍精度浮動小数点型 |
Byte | 倍精度浮動小数点型 |
Int16 | 倍精度浮動小数点型 |
UInt16 | 倍精度浮動小数点型 |
Int32 | Int32 |
UInt32 | 倍精度浮動小数点型 |
Int64 | Int64 |
UInt64 | 倍精度浮動小数点型 |
Double | Double |
Single | 倍精度浮動小数点型 |
関連リンク
PowerShell