Get-SecureRandom
Obtém um número aleatório ou seleciona objetos aleatoriamente de uma coleção.
Sintaxe
Get-SecureRandom
[[-Maximum] <Object>]
[-Minimum <Object>]
[-Count <Int32>]
[<CommonParameters>]
Get-SecureRandom
[-InputObject] <Object[]>
[-Count <Int32>]
[<CommonParameters>]
Get-SecureRandom
[-InputObject] <Object[]>
[-Shuffle]
[<CommonParameters>]
Description
O Get-SecureRandom
cmdlet obtém um número selecionado aleatoriamente. Se você enviar uma coleção de objetos para Get-SecureRandom
o , ele obterá um ou mais objetos selecionados aleatoriamente da coleção.
Sem parâmetros ou entrada, um Get-SecureRandom
comando retorna um inteiro sem sinal de 32 bits selecionado aleatoriamente entre 0 (zero) e [int32]::MaxValue
.
Você pode usar os parâmetros de Get-SecureRandom
para especificar os valores mínimo e máximo e o número de objetos retornados de uma coleção.
Get-SecureRandom
gera aleatoriedade criptograficamente segura usando a classe RandomNumberGenerator .
Exemplos
Exemplo 1: Obter um inteiro aleatório
Esse comando obtém um inteiro aleatório entre 0 (zero) e Int32.MaxValue.
Get-SecureRandom
3951433
Exemplo 2: Obter um inteiro aleatório entre 0 e 99
Get-SecureRandom -Maximum 100
47
Exemplo 3: Obter um inteiro aleatório entre -100 e 99
Get-SecureRandom -Minimum -100 -Maximum 100
56
Exemplo 4: Obter um número de ponto flutuante aleatório
Esse comando obtém um número de ponto flutuante aleatório maior ou igual a 10,7 e menor que 20,93.
Get-SecureRandom -Minimum 10.7 -Maximum 20.93
18.08467273887
Exemplo 5: Obter um inteiro aleatório de uma matriz
Esse comando obtém um número selecionado aleatoriamente da matriz especificada.
1, 2, 3, 5, 8, 13 | Get-SecureRandom
8
Exemplo 6: Obter vários inteiros aleatórios de uma matriz
Este comando obtém três números selecionados aleatoriamente em ordem aleatória de uma matriz.
1, 2, 3, 5, 8, 13 | Get-SecureRandom -Count 3
3
1
13
Exemplo 7: Randomizar uma coleção inteira
Você pode usar o parâmetro Shuffle para retornar toda a coleção em uma ordem aleatória.
1, 2, 3, 5, 8, 13 | Get-SecureRandom -Shuffle
2
3
5
1
8
13
Exemplo 8: Obter um valor não numérico aleatório
Esse comando retorna um valor aleatório de uma coleção não numérica.
"red", "yellow", "blue" | Get-SecureRandom
yellow
Exemplo 9: Obter arquivos aleatórios
Esses comandos obtêm uma amostra selecionada aleatoriamente de 50 arquivos da C:
unidade do computador local.
$Files = Get-ChildItem -Path C:\* -Recurse
$Sample = $Files | Get-SecureRandom -Count 50
Exemplo 10: Rolar dados justos
Este exemplo rola um dado justo 1200 vezes e conta os resultados. O primeiro comando, ForEach-Object
repete a chamada para Get-SecureRandom
a partir dos números canalizados (1-6). Os resultados são agrupados por seu valor e Group-Object
formatados como uma tabela com 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
Exemplo 11: Usar o parâmetro Count
Você pode usar o parâmetro Count sem canalizar objetos para Get-SecureRandom
. O exemplo a seguir obtém três números aleatórios menores que 10.
Get-SecureRandom -Count 3 -Maximum 10
9
0
8
Exemplo 12: Usar o parâmetro InputObject com uma cadeia de caracteres ou $null vazia
Neste exemplo, o parâmetro InputObject especifica uma matriz que contém uma cadeia de caracteres vazia (''
) e $null
.
Get-SecureRandom -InputObject @('a','',$null)
Get-SecureRandom
a
retorna , string vazia ou $null
. A picada vazia é exibida como uma linha em branco e $null
retorna a um prompt do PowerShell.
Parâmetros
-Count
Especifica o número de objetos aleatórios a serem retornados. O padrão é 1.
Quando usado com InputObject
a contenção de uma coleção:
- Cada item selecionado aleatoriamente é retornado apenas uma vez.
- Se o valor de Count exceder o número de objetos na coleção, todos os objetos na coleção serão retornados em ordem aleatória.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifica uma coleção de objetos. Get-SecureRandom
obtém objetos selecionados aleatoriamente em ordem aleatória da coleção até o número especificado por Count. Insira os objetos, uma variável que contenha os objetos ou um comando ou expressão que os obtenha. Você também pode canalizar uma coleção de objetos para .Get-SecureRandom
O parâmetro InputObject aceita matrizes que podem conter uma cadeia de caracteres vazia ou $null
. A matriz pode ser enviada para baixo no pipeline ou como um valor de parâmetro InputObject .
Tipo: | Object[] |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Maximum
Especifica um valor máximo para o número aleatório. Get-SecureRandom
Retorna um valor menor que o máximo (diferente de igual). Insira um número inteiro, um número de ponto flutuante de precisão dupla ou um objeto que possa ser convertido em um número inteiro ou duplo, como uma cadeia de caracteres numérica ("100").
O valor de Máximo deve ser maior que (diferente de) o valor de Mínimo. Se o valor de Máximo ou Mínimo for um número de ponto flutuante, Get-SecureRandom
retornará um número de ponto flutuante selecionado aleatoriamente.
Em um computador de 64 bits, se o valor de Minimum for um inteiro de 32 bits, o valor padrão de Maximum será Int32.MaxValue.
Se o valor de Minimum for um double (um número de ponto flutuante), o valor padrão de Maximum será Double.MaxValue. Caso contrário, o valor padrão será Int32.MaxValue.
Tipo: | Object |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Minimum
Especifica um valor mínimo para o número aleatório. Insira um número inteiro, um número de ponto flutuante de precisão dupla ou um objeto que possa ser convertido em um número inteiro ou duplo, como uma cadeia de caracteres numérica ("100"). O valor padrão é 0 (zero).
O valor de Minimum deve ser menor que (diferente de) o valor de Maximum. Se o valor de Máximo ou Mínimo for um número de ponto flutuante, Get-SecureRandom
retornará um número de ponto flutuante selecionado aleatoriamente.
Tipo: | Object |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Shuffle
Retorna toda a coleção em uma ordem aleatória.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar qualquer objeto para esse cmdlet. Ele seleciona valores aleatoriamente dos objetos canalizados.
Saídas
Esse cmdlet retorna um número inteiro ou de ponto flutuante ou um objeto selecionado aleatoriamente de uma coleção enviada.
Observações
Get-SecureRandom
nem sempre retorna o mesmo tipo de dados que o valor de entrada. A tabela a seguir mostra o tipo de saída para cada um dos tipos de entrada numérica.
Tipo de Entrada | Tipo de Saída |
---|---|
SByte | Double |
Byte | Double |
Int16 | Double |
UInt16 | Double |
Int32 | Int32 |
UInt32 | Double |
Int64 | Int64 |
UInt64 | Double |
Double | Double |
Single | Double |