Get-Random

Get a random number, or select objects randomly from a collection.

Syntax
      Get-Random [-InputObject] Object[] [-Count int]
         [-SetSeed int] [CommonParameters]

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

key
   -Count int
       Determines how many objects are returned.
       If the value of Count exceeds the number of objects in the 
       collection, Get-Random returns all of the objects in random order.
       The default is 1. 

   -InputObjectObject
       A collection of objects.
       Get-Random gets randomly selected objects in random order from the collection.
       Enter the objects, a variable that contains the objects, or a command or
       expression that gets the objects.
       A collection of objects may also be piped to Get-Random.

   -Maximum Object
       A maximum value for the random number.
       Get-Random will return a value that is less than the maximum (not equal).
       Enter a 32-bit integer or a double-precision floating-point number, or
       an object that can be converted, such as a numeric string ("100").
       The value of -Maximum must be greater than (not equal to) the value of -Minimum. 

       If the value of -Maximum or -Minimum is a floating-point number, Get-Random
       will return a randomly selected floating-point number.

       If the value of Minimum is a double (a floating-point number), the default value
       of Maximum is Double.MaxValue.
       Otherwise, the default value is Int32.MaxValue (2,147,483,647)
        
   -Minimum Object
       A minimum value for the random number.
       Enter a 32-bit integer or a double-precision floating-point number, or
       an object that can be converted, such as a numeric string ("100").
       The default value is 0 (zero). 

       The value of Minimum must be less than (not equal to) the value of Maximum.
       If the value of -Maximum or -Minimum is a floating-point number, Get-Random
       will return a randomly selected floating-point number.

   -SetSeed int
       A seed value for the random number generator.
       This seed value is used for the current command and for all subsequent
       Get-Random commands in the current session until SetSeed is used again
       The seed cannot be reset back to its default, clock-based value.

       -SetSeed is not required. By default, Get-Random uses the system clock
       to generate a seed value.
       Using SetSeed will result in non-random behavior, it is typically used 
       to reproduce behavior, such as when debugging or analyzing a script.

Get-Random gets a randomly selected number.
If a collection of objects is submitted to Get-Random, then one or more randomly selected objects from the collection will be returned.

An alternative approach is to create a random object:

$objRand = new-object random
$num = $objRand.next(1,500)

Examples

Get a random integer between 0 (zero) and Int32.MaxValue:

PS C:> get-random

Get a random integer between 0 (zero) and 99:

PS C:> get-random -maximum 100

Get a random integer between -100 and 99:

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

Get four randomly selected numbers in random order from an array:

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

Get a randomly selected sample of 25 files from the C: drive of the local computer:

PS C:> $files = dir -path c:\* -recurse
PS C:> $sample = $files | get-random -count 25

“Anyone who attempts to generate random numbers by deterministic means is, of course, living in a state of sin” - John von Neumann

Related PowerShell Cmdlets

Random Numbers - Generate Random Numbers with the Alea() function.
Get-Unique - Return the unique items from a sorted list.


 
Copyright © 1999-2024 SS64.com
Some rights reserved