Compartir a través de


Get-SecureRandom

Obtiene un número aleatorio o selecciona aleatoriamente los objetos de una colección.

Sintaxis

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

Description

El Get-SecureRandom cmdlet obtiene un número seleccionado aleatoriamente. Si envía una colección de objetos a Get-SecureRandom, obtiene uno o varios objetos seleccionados aleatoriamente de la colección.

Sin parámetros ni entrada, un Get-SecureRandom comando devuelve un entero de 32 bits sin signo seleccionado aleatoriamente entre 0 (cero) y [int32]::MaxValue.

Puede usar los parámetros de Get-SecureRandom para especificar los valores mínimo y máximo y el número de objetos devueltos de una colección.

Get-SecureRandom genera aleatoriedad segura criptográficamente mediante la clase RandomNumberGenerator .

Ejemplos

Ejemplo 1: Obtener un entero aleatorio

Este comando obtiene un entero aleatorio entre 0 (cero) e Int32.MaxValue.

Get-SecureRandom

3951433

Ejemplo 2: Obtener un entero aleatorio entre 0 y 99

Get-SecureRandom -Maximum 100

47

Ejemplo 3: Obtener un entero aleatorio entre -100 y 99

Get-SecureRandom -Minimum -100 -Maximum 100

56

Ejemplo 4: Obtener un número de punto flotante aleatorio

Este comando obtiene un número de punto flotante aleatorio mayor o igual que 10,7 y menor que 20,93.

Get-SecureRandom -Minimum 10.7 -Maximum 20.93

18.08467273887

Ejemplo 5: Obtener un entero aleatorio de una matriz

Este comando obtiene un número seleccionado aleatoriamente en la matriz especificada.

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

8

Ejemplo 6: Obtener varios enteros aleatorios de una matriz

Este comando obtiene tres números seleccionados aleatoriamente en orden aleatorio de una matriz.

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

3
1
13

Ejemplo 7: Aleatorizar una colección completa

Puede usar el parámetro Shuffle para devolver toda la colección en un orden aleatorio.

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

2
3
5
1
8
13

Ejemplo 8: Obtención de un valor no numérico aleatorio

Este comando devuelve un valor aleatorio de una colección no numérica.

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

yellow

Ejemplo 9: Obtener archivos aleatorios

Estos comandos obtienen un ejemplo seleccionado aleatoriamente de 50 archivos de la C: unidad del equipo local.

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

Ejemplo 10: Poner dados justos

En este ejemplo se implementa una serie de die die 1200 veces y se cuentan los resultados. El primer comando ForEach-Object repite la llamada a Get-SecureRandom desde la canalización en números (1-6). Los resultados se agrupan por su valor con Group-Object y con formato como una tabla con 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

Ejemplo 11: Uso del parámetro Count

Puede usar el parámetro Count sin canalizar objetos a Get-SecureRandom. En el ejemplo siguiente se obtienen tres números aleatorios inferiores a 10.

Get-SecureRandom -Count 3 -Maximum 10

9
0
8

Ejemplo 12: Uso del parámetro InputObject con una cadena vacía o $null

En este ejemplo, el parámetro InputObject especifica una matriz que contiene una cadena vacía ('') y $null.

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

Get-SecureRandomadevuelve , cadena vacía o $null. El sting vacío se muestra como una línea en blanco y $null vuelve a un símbolo del sistema de PowerShell.

Parámetros

-Count

Especifica el número de objetos aleatorios que se van a devolver. El valor predeterminado es 1.

Cuando se usa con InputObject que contiene una colección:

  • Cada elemento seleccionado aleatoriamente solo se devuelve una vez.
  • Si el valor de Count supera el número de objetos de la colección, todos los objetos de la colección se devuelven en orden aleatorio.
Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InputObject

Especifica una colección de objetos. Get-SecureRandom obtiene objetos seleccionados aleatoriamente en orden aleatorio de la colección hasta el número especificado por Count. Especifique los objetos, una variable que contenga los objetos o un comando o una expresión que obtenga los objetos. También puede canalizar una colección de objetos a Get-SecureRandom.

El parámetro InputObject acepta matrices que pueden contener una cadena vacía o $null. La matriz se puede enviar por la canalización o como un valor de parámetro InputObject .

Tipo:Object[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Maximum

Especifica un valor máximo para el número aleatorio. Get-SecureRandom devuelve un valor menor que el máximo (no igual). Escriba un entero, un número de punto flotante de precisión doble o un objeto que se pueda convertir en un entero o double, como una cadena numérica ("100").

El valor de Maximum debe ser mayor que (no igual a) el valor de Minimum. Si el valor de Maximum o Minimum es un número de punto flotante, Get-SecureRandom devuelve un número de punto flotante seleccionado aleatoriamente.

En un equipo de 64 bits, si el valor de Minimum es un entero de 32 bits, el valor predeterminado de Maximum es Int32.MaxValue.

Si el valor de Minimum es un doble (un número de punto flotante), el valor predeterminado de Maximum es Double.MaxValue. De lo contrario, el valor predeterminado es Int32.MaxValue.

Tipo:Object
Posición:0
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Minimum

Especifica un valor mínimo para el número aleatorio. Escriba un entero, un número de punto flotante de precisión doble o un objeto que se pueda convertir en un entero o double, como una cadena numérica ("100"). El valor predeterminado es 0 (cero).

El valor de Minimum debe ser menor que (no igual a) el valor de Maximum. Si el valor de Maximum o Minimum es un número de punto flotante, Get-SecureRandom devuelve un número de punto flotante seleccionado aleatoriamente.

Tipo:Object
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Shuffle

Devuelve toda la colección en un orden aleatorio.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

Object

Puede canalizar cualquier objeto a este cmdlet. Selecciona los valores aleatoriamente de los objetos canalizado.

Salidas

Int32

Int64

Double

PSObject

Este cmdlet devuelve un número entero o de punto flotante, o un objeto seleccionado aleatoriamente de una colección enviada.

Notas

Get-SecureRandom no siempre devuelve el mismo tipo de datos que el valor de entrada. En la tabla siguiente se muestra el tipo de salida para cada uno de los tipos de entrada numéricos.

Tipo de entrada Tipo de salida
SByte Double
Byte Double
Int16 Double
UInt16 Double
Int32 Int32
UInt32 Double
Int64 Int64
UInt64 Double
Double Double
Single Double