Compartilhar via


Get-Random

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

Sintaxe

Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>] [<CommonParameters>]

Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>] [<CommonParameters>]

Descrição

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

Sem parâmetros ou entrada, um comando Get-Random retorna um inteiro sem sinal de 32 bits aleatoriamente selecionado entre 0 (zero) e Int32.MaxValue (0x7FFFFFFF, 2,147,483,647).

Você pode usar os parâmetros de Get-Random para especificar um número de semente, valores mínimo e máximo e o número de objetos retornados de uma coleção enviada.

Parâmetros

-Count <int>

Determina quantos objetos são retornados. O padrão é 1. Se o valor de Count exceder o número de objetos na coleção, Get-Random retornará todos os objetos em ordem aleatória.

Necessário?

false

Posição?

named

Valor padrão

1

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-InputObject <Object[]>

Especifica uma coleção de objetos. Get-Random obtém objetos selecionados aleatoriamente da coleção. Digite os objetos, uma variável que contenha os objetos ou um comando ou expressão que obtenha os objetos. Também é possível enviar uma coleção de objetos para Get-Random.

Necessário?

true

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

true (ByValue)

Aceitar caracteres curinga?

false

-Maximum <Object>

Especifica um valor máximo para o número aleatório. Get-Random retorna um valor inferior ao máximo (não igual). Digite um inteiro de 32 bits ou um número de ponto flutuante de precisão dupla ou um objeto que pode ser convertido em um inteiro ou ser dobrado, como uma cadeia numérica ("100"). O valor de Maximum deve ser superior (e não igual) ao valor de Minimum.

Se o valor de Maximum ou Minimum for um número de ponto flutuante, Get-Random devolverá um número de ponto flutuante aleatoriamente selecionado.

Se o valor de Minimum for um dobro (um número de ponto flutuante), o valor padrão de Maximum será Double.MaxValue. Caso contrário, o valor padrão é Int32.MaxValue (2,147,483,647 ou 0x7FFFFFFF).

Necessário?

false

Posição?

1

Valor padrão

Int32.MaxValue

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Minimum <Object>

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

O valor de Minimum deve ser inferior (e não igual) ao valor de Maximum. Se o valor de Maximum ou Minimum for um número de ponto flutuante, Get-Random devolverá um número de ponto flutuante aleatoriamente selecionado.

Necessário?

false

Posição?

named

Valor padrão

0

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-SetSeed <int>

Especifica um valor de semente para o gerador de número aleatório. Este valor de semente é usado para o comando atual e para todos os comandos Get-Random subsequentes da sessão atual até que você use SetSeed novamente ou feche a sessão. Você não pode reiniciar a semente com seu valor padrão fundado em relógio.

O parâmetro SetSeed não é necessário. Por padrão, Get-Random usa o clock do sistema para gerar um valor de semente. Como SetSeed resulta em comportamento não aleatório, é usado normalmente só ao tentar reproduzir comportamento, como durante a depuração ou análise de um script que inclui comandos Get-Random.

Necessário?

false

Posição?

named

Valor padrão

Clock do sistema

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

System.Object

Você pode canalizar um ou mais objetos para Get-Random. Get-Random seleciona valores aleatoriamente entre os objetos canalizados.

Saídas

System.Object

Objects. Get-Random retorna um inteiro ou um número de ponto flutuante ou um objeto selecionado aleatoriamente de uma coleção enviada.

Observações

Get-Random define uma semente padrão durante cada sessão fundada no clock de hora do sistema quando a sessão é iniciada.

Exemplo 1

C:\PS>get-random

3951433

Descrição
-----------
Esse comando obtém um inteiro aleatório entre 0 (zero) e Int32.MaxValue.





Exemplo 2

C:\PS>get-random -maximum 100

47

Descrição
-----------
Esse comando obtém um inteiro aleatório entre 0 (zero) e 99.





Exemplo 3

C:\PS>get-random -minimum -100 -maximum 100

-56

Descrição
-----------
Este comando obtém um inteiro aleatório entre -100 e 99.





Exemplo 4

C:\PS>get-random -min 10.7 -max 20.93

18.08467273887

Descrição
-----------
Este comando obtém um número de ponto flutuante aleatório maior ou igual a 10,7 e menor que 20,92.





Exemplo 5

C:\PS>get-random -input 1, 2, 3, 5, 8, 13

8

Descrição
-----------
Este comando obtém um número aleatoriamente selecionado da matriz especificada.





Exemplo 6

C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count 3

3
1
13

Descrição
-----------
Este comando obtém três números selecionados aleatoriamente da matriz.





Exemplo 7

C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count ([int]::MaxValue)

2
3
5
1
8
13

Descrição
-----------
Este comando retorna a coleção inteira em ordem aleatória. O valor do parâmetro Count é a propriedade estática MaxValue de inteiros. 

Para retornar uma coleção inteira em ordem aleatória, digite qualquer número maior ou igual ao número de objetos da coleção.





Exemplo 8

C:\PS>get-random -input "red", "yellow", "blue"

yellow

Descrição
-----------
Este comando retorna um valor aleatório de uma coleção não numérica.





Exemplo 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

Descrição
-----------
Este comando obtém um processo selecionado aleatoriamente da coleção de processos no computador.





Exemplo 10

C:\PS>get-content servers.txt | get-random -count (get-content servers.txt).count | foreach {invoke-expression -computer $_ -command 'get-process powershell'}

Descrição
-----------
Este comando executa um comando em uma série de computadores remotos em ordem aleatória.





Exemplo 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

Descrição
-----------
Esse exemplo mostra o efeito do uso do parâmetro SetSeed. Como SetSeed produz um comportamento não aleatório, é usado normalmente para reproduzir resultados, como durante a depuração ou análise de um script.





Exemplo 12

C:\PS>$files = dir -path c:\* -recurse

C:\PS> $sample = $files | get-random -count 50

Descrição
-----------
Esses comandos obtêm um exemplo selecionado aleatoriamente de 50 arquivos da unidade C: do computador local.





Exemplo 13

C:\PS>get-random 10001

7600

Descrição
-----------
Este comando obtém um inteiro aleatório inferior a 10001. Como o parâmetro Maximum tem posição 1, você pode omitir o nome do parâmetro quando o valor é o primeiro ou único parâmetro sem nome no comando.