Compartilhar via


Get-SecureRandom

Obtém um número aleatório ou seleciona objetos aleatoriamente de uma coleção.

Sintaxe

RandomNumberParameterSet (Padrão)

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

O cmdlet Get-SecureRandom obtém um número selecionado aleatoriamente. Se você enviar uma coleção de objetos para Get-SecureRandom, ele obterá um ou mais objetos selecionados aleatoriamente da coleção.

Sem parâmetros ou entrada, um comando Get-SecureRandom 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

Esse 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 um exemplo selecionado aleatoriamente de 50 arquivos da unidade C: do computador local.

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

Exemplo 10: Rolar dados justos

Este exemplo acumula uma morte justa 1200 vezes e conta os resultados. O primeiro comando, ForEach-Object repete a chamada para Get-SecureRandom dos números canalizados (1-6). Os resultados são agrupados por seu valor com Group-Object e 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 objetos de tubulação 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 vazia ou $null

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 retorna a, cadeia de caracteres vazia ou $null. A cadeia de caracteres 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. A predefinição é 1.

Quando usado com InputObject que contém 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 da coleção serão retornados em ordem aleatória.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

RandomNumberParameterSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
RandomListItemParameterSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 contém os objetos ou um comando ou expressão que obtém os objetos. 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 pelo pipeline ou como um valor de parâmetro InputObject.

Propriedades do parâmetro

Tipo:

Object[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

RandomListItemParameterSet
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
ShuffleParameterSet
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Maximum

Especifica um valor máximo para o número aleatório. Get-SecureRandom retorna um valor menor que o máximo (não igual). Insira um inteiro, um número de ponto flutuante de precisão dupla ou um objeto que pode ser convertido em um inteiro ou duplo, como uma cadeia de caracteres numérica ("100").

O valor de Máximo deve ser maior que (não igual a) 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 Mínimo for um inteiro de 32 bits, o valor padrão de Máximo será Int32.MaxValue.

Se o valor de Mínimo for um duplo (um número de ponto flutuante), o valor padrão de Máximo será Double.MaxValue. Caso contrário, o valor padrão será Int32.MaxValue.

Propriedades do parâmetro

Tipo:Object
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

RandomNumberParameterSet
Cargo:0
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Minimum

Especifica um valor mínimo para o número aleatório. Insira um inteiro, um número de ponto flutuante de precisão dupla ou um objeto que pode ser convertido em um inteiro ou duplo, como uma cadeia de caracteres numérica ("100"). O valor padrão é 0 (zero).

O valor de Mínimo deve ser menor que (não igual a) o valor de Máximo. 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.

Propriedades do parâmetro

Tipo:Object
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

RandomNumberParameterSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Shuffle

Retorna toda a coleção em uma ordem aleatória.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ShuffleParameterSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

Object

Você pode redirecionar qualquer objeto para este cmdlet. Ele seleciona valores aleatoriamente dos objetos canalizados.

Saídas

Int32

Int64

Double

PSObject

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éricos.

Tipo de Entrada Tipo de Saída
SByte Duplo
byte Duplo
Int16 Duplo
UInt16 Duplo
Int32 Int32
UInt32 Duplo
Int64 Int64
UInt64 Duplo
Duplo Duplo
Solteiro Duplo