Obtient un nombre aléatoire ou sélectionne aléatoirement des objets dans une collection.

Syntaxe

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

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

Description

L'applet de commande Get-Random obtient un nombre sélectionné aléatoirement. Si vous envoyez une collection d'objets à Get-Random, cette applet de commande obtient un ou plusieurs objets sélectionnés aléatoirement dans la collection.

Sans paramètres ou entrée, une commande Get-Random retourne un entier non signé 32 bits sélectionné aléatoirement entre 0 (zéro) et Int32.MaxValue (0x7FFFFFFF, 2,147,483,647).

Vous pouvez utiliser les paramètres de Get-Random pour spécifier un numéro d'amorce, des valeurs minimales et maximales, ainsi que le nombre d'objets retournés à partir d'une collection envoyée.

Paramètres

-Count <int>

Détermine combien d'objets sont retournés. La valeur par défaut est 1. Si la valeur de Count dépasse le nombre d'objets de la collection, Get-Random retourne tous les objets dans un ordre aléatoire.

Obligatoire ?

false

Position ?

named

Valeur par défaut

1

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InputObject <Object[]>

Spécifie une collection d'objets. Get-Random obtient les objets sélectionnés aléatoirement dans un ordre aléatoire à partir de la collection. Entrez les objets, une variable contenant les objets, ou tapez une commande ou une expression qui obtient ces objets. Vous pouvez également diriger une collection d'objets vers Get-Random.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue)

Accepter les caractères génériques ?

false

-Maximum <Object>

Spécifie une valeur maximale pour le nombre aléatoire. Get-Random renvoie une valeur inférieure au maximum (et non pas égale). Entrez un entier 32 bits ou un nombre à virgule flottante double précision, ou encore un objet pouvant être converti en un entier ou un nombre double, tel qu'une chaîne numérique (« 100 »). La valeur de Maximum doit être supérieure à (et pas égale à) la valeur de Minimum.

Si la valeur de Maximum ou Minimum est un nombre à virgule flottante, Get-Random retourne un nombre à virgule flottante sélectionné aléatoirement.

Si la valeur de Minimum est un double (un nombre à virgule flottante), la valeur par défaut de Maximum est Double.MaxValue. Sinon, la valeur par défaut est Int32.MaxValue (2,147,483,647 ou 0x7FFFFFFF).

Obligatoire ?

false

Position ?

1

Valeur par défaut

Int32.MaxValue

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Minimum <Object>

Spécifie une valeur minimale pour le nombre aléatoire. Entrez un entier 32 bits ou un nombre à virgule flottante double précision, ou encore un objet pouvant être converti en un entier ou un nombre double, tel qu'une chaîne numérique (« 100 »). La valeur par défaut est 0 (zéro).

La valeur de Minimum doit être inférieure à (et pas égale à) la valeur de Maximum. Si la valeur de Maximum ou Minimum est un nombre à virgule flottante, Get-Random retourne un nombre à virgule flottante sélectionné aléatoirement.

Obligatoire ?

false

Position ?

named

Valeur par défaut

0

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-SetSeed <int>

Spécifie une valeur initiale pour le générateur de nombres aléatoires. Cette valeur est utilisée pour la commande actuelle et pour toutes les commandes Get-Random suivantes de la session active jusqu'à ce que vous utilisiez à nouveau SetSeed ou que vous fermiez la session. Vous ne pouvez pas réinitialiser la valeur initiale sur sa valeur par défaut, basée sur l'horloge.

Le paramètre SetSeed n'est pas obligatoire. Par défaut, Get-Random utilise l'horloge système pour générer une valeur initiale. Étant donné que le paramètre SetSeed génère un comportement non aléatoire, il est généralement utilisé uniquement lors de la tentative de reproduction d'un comportement, par exemple lors du débogage ou de l'analyse d'un script incluant des commandes Get-Random.

Obligatoire ?

false

Position ?

named

Valeur par défaut

System clock

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

System.Object

Vous pouvez diriger un ou plusieurs objets vers Get-Random. Get-Random sélectionne des valeurs de façon aléatoire à partir des objets dirigés.

Sorties

System.Object

Get-Random retourne un entier, un nombre à virgule flottante ou un objet sélectionné aléatoirement à partir d'une collection envoyée.

Remarques

Get-Random définit une valeur initiale par défaut pour chaque session en fonction de l'horloge système au démarrage de la session.

Exemple 1

C:\PS>get-random

3951433

Description
-----------
Cette commande obtient un entier aléatoire compris entre 0 (zéro) et Int32.MaxValue.






Exemple 2

C:\PS>get-random -maximum 100

47

Description
-----------
Cette commande obtient un entier aléatoire compris entre 0 (zéro) et 99.






Exemple 3

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

-56

Description
-----------
Cette commande obtient un entier aléatoire entre -100 et 99.






Exemple 4

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

18.08467273887

Description
-----------
Cette commande obtient un nombre à virgule flottante aléatoire supérieur ou égal à 10,7 et inférieur à 20,92.






Exemple 5

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

8

Description
-----------
Cette commande obtient un nombre sélectionné aléatoirement à partir du tableau spécifié.






Exemple 6

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

3
1
13

Description
-----------
Cette commande obtient trois nombres sélectionnés aléatoirement en ordre aléatoire à partir du tableau.






Exemple 7

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

2
3
5
1
8
13

Description
-----------
Cette commande retourne l'ensemble de la collection en ordre aléatoire. La valeur du paramètre Count est la propriété statique MaxValue des entiers. 

Pour retourner l'ensemble d'une collection en ordre aléatoire, entrez un nombre supérieur ou égal au nombre d'objets de la collection.






Exemple 8

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

yellow

Description
-----------
Cette commande retourne une valeur aléatoire d'une collection non numérique.






Exemple 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

Description
-----------
Cette commande obtient un processus sélectionné aléatoirement à partir de la collection de processus de l'ordinateur.






Exemple 10

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

Description
-----------
Cette commande exécute une commande sur une série d'ordinateurs distants de façon aléatoire.






Exemple 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

Description
-----------
Cet exemple illustre l'utilisation du paramètre SetSeed. Étant donné que SetSeed génère un comportement non aléatoire, il est généralement utilisé uniquement pour reproduire des résultats, par exemple lors du débogage ou de l'analyse d'un script.






Exemple 12

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

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

Description
-----------
Ces commandes obtiennent un échantillon sélectionné aléatoirement de 50 fichiers du lecteur C: de l'ordinateur local.






Exemple 13

C:\PS>get-random 10001

7600

Description
-----------
Cette commande obtient un entier aléatoire inférieur à 10 001. Étant donné que le paramètre Maximum possède la position 1, vous pouvez omettre le nom du paramètre lorsque la valeur est le premier ou le seul paramètre sans nom de la commande.









Table des matières