¿Cómo generar números aleatorios en PowerShell?
Recientemente, alguien me preguntó acerca de diferentes métodos para generar números aleatorios en PowerShell. Sugerí diferentes métodos con ejemplos. En este tutorial, te mostraré cómo generar números aleatorios en PowerShell con ejemplos.
Para generar números aleatorios en PowerShell, puede utilizar el cmdlet Get-Random. Por ejemplo, para generar un único número aleatorio, simplemente ejecute Get-Random, que generará un entero aleatorio de 32 bits. Si necesita un número aleatorio dentro de un rango específico, utilice Get-Random -Minimum 1 -Maximum 100 para obtener un número aleatorio entre 1 y 99.
Generar números aleatorios en PowerShell
En PowerShell, puede usar el cmdlet Get-Random para generar números aleatorios y seleccionar elementos aleatorios de colecciones.
Permítame mostrarle un ejemplo de cómo crear un único número aleatorio en PowerShell usando este cmdlet.
El uso más sencillo del cmdlet Get-Random es generar un único número aleatorio. De forma predeterminada, Get-Random genera un entero aleatorio de 32 bits. Esto generará un número aleatorio entre 0 y Int32.MaxValue (2,147,483,647).
$randomNumber = Get-Random
Write-Output $randomNumber
De forma predeterminada, Get-Random genera un número entero aleatorio no negativo. Ejecuté el script de PowerShell anterior y puedes ver el resultado exacto. Generó un número aleatorio, como se muestra en la captura de pantalla siguiente.
Consulte las variables globales de PowerShell
Genere números aleatorios dentro del rango en PowerShell
Ahora, déjame mostrarte cómo generar un número aleatorio dentro del rango en PowerShell.
Si desea generar un número aleatorio dentro de un rango específico, debe especificar los valores mínimo y máximo como parámetros. El parámetro -Minimum establece el límite inferior inclusivo, mientras que el parámetro -Maximum establece el límite superior exclusivo.
# Generate a random number between 1 and 100
$randomNumber = Get-Random -Minimum 1 -Maximum 100
Write-Output $randomNumberEn este ejemplo, el número aleatorio estará entre 1 (inclusive) y 100 (exclusivo). Esto es útil para escenarios como generar ID aleatorios, seleccionar índices aleatorios o cualquier aplicación que requiera un número dentro de un rango específico.
Aquí está el resultado que puede ver en la siguiente captura de pantalla:
PowerShell: número aleatorio entre 1 y 10
Si tiene algún requisito específico, como generar un número aleatorio entre 1 y 10, puede modificar el script de PowerShell anterior como se muestra a continuación:
# Generate a random number between 1 and 10
$randomNumber = Get-Random -Minimum 1 -Maximum 11
Write-Output $randomNumberEn este ejemplo, el número aleatorio estará entre 1 (inclusive) y 11 (exclusivo). Esto asegura que el número 10 esté incluido en los posibles resultados. Cuando ejecute el script de PowerShell anterior, generará un número aleatorio entre 1 y 10.
Consulte las variables locales de PowerShell
Genere un número aleatorio de 6 dígitos en PowerShell
Para generar un número aleatorio de seis dígitos, puede especificar el rango en consecuencia. Un número de seis dígitos oscila entre 100000 y 999999, por lo que establecería su -Minimum en 100000 y -Maximum en 1000000 (ya que el valor máximo es exclusivo).
# Generate a random six-digit number
$randomNumber = Get-Random -Minimum 100000 -Maximum 1000000
Write-Output $randomNumberEste comando garantiza que el número generado sea siempre un número entero de seis dígitos. Esto puede resultar particularmente útil para generar códigos de verificación aleatorios, ID de usuario o cualquier otro escenario donde se requiera un número de longitud fija.
Puede ver el resultado en la captura de pantalla a continuación después de ejecutar el script usando el código VS.
Consulte el generador de contraseñas aleatorias de PowerShell
Genere múltiples números aleatorios en PowerShell
A veces, es posible que necesites generar varios números aleatorios en PowerShell.
Para generar múltiples números aleatorios, puede usar un bucle o especificar el parámetro -Count para generar un número específico de valores aleatorios.
Aquí está el script completo de PowerShell.
# Using a loop
for ($i = 0; $i -lt 5; $i++) {
$randomNumber = Get-Random -Minimum 1 -Maximum 100
Write-Output $randomNumber
}
# Using -Count parameter
$randomNumbers = Get-Random -Minimum 1 -Maximum 100 -Count 5
Write-Output $randomNumbersUna vez que ejecute el script de PowerShell anterior, generará múltiples números aleatorios. Tomé la siguiente captura de pantalla después de ejecutar el script usando el código VS.
Lea ¿Cómo agregar comentarios en PowerShell?
Utilice Get-Random con una semilla
Si necesita números aleatorios reproducibles, puede utilizar el parámetro -SetSeed para especificar un valor inicial. Esto es útil para fines de prueba, donde es posible que desee generar la misma secuencia de números aleatorios en varias ejecuciones.
# Generate a random number with a seed
$randomNumber1 = Get-Random -SetSeed 42
$randomNumber2 = Get-Random -SetSeed 42
Write-Output $randomNumber1
Write-Output $randomNumber2Tanto $randomNumber1 como $randomNumber2 tendrán el mismo valor porque se utiliza la misma semilla. Esto puede resultar increíblemente útil para depurar y probar scripts que se basan en números aleatorios, lo que le permite reproducir las mismas condiciones de forma coherente. Puede ver el resultado en la siguiente captura de pantalla:
Conclusión
En este tutorial, expliqué cómo generar números aleatorios en PowerShell usando el cmdlet Get-Random. Cubrimos la generación de números aleatorios únicos, la especificación de rangos, la generación de números aleatorios múltiples, etc. También expliqué cómo generar un número aleatorio de 6 dígitos en PowerShell.




