Ottiene un numero casuale o seleziona gli oggetti da una raccolta in modo casuale.

Sintassi

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

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

Descrizione

Il cmdlet Get-Random ottiene un numero selezionato casualmente. Se si invia una raccolta di oggetti a Get-Random, si ottengono uno o più oggetti selezionati casualmente dalla raccolta.

Senza parametri o input, un comando Get-Random restituisce un valore intero senza segno a 32 bit selezionato casualmente tra 0 (zero) e Int32.MaxValue (0x7FFFFFFF, 2,147,483,647).

È possibile utilizzare i parametri di Get-Random per specificare un numero di valore iniziale, i valori minimo e massimo e il numero di oggetti restituiti da una raccolta inviata.

Parametri

-Count <int>

Determina quanti oggetti vengono restituiti. Il valore predefinito è 1. Se il valore di Count supera il numero di oggetti nella raccolta, Get-Random restituisce tutti gli oggetti in ordine casuale.

Obbligatorio?

false

Posizione?

named

Valore predefinito

1

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-InputObject <Object[]>

Specifica una raccolta di oggetti. Get-Random ottiene oggetti selezionati casualmente dalla raccolta. Immettere gli oggetti, una variabile contenente gli oggetti oppure un comando o un'espressione che consente di ottenere gli oggetti. È inoltre possibile reindirizzare una raccolta di oggetti a Get-Random.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByValue)

Accettare caratteri jolly?

false

-Maximum <Object>

Specifica un valore massimo per il numero casuale. Get-Random restituisce un valore minore del valore massimo (non uguale). Immettere un valore intero a 32 bit o un numero a virgola mobile a precisione doppia o un oggetto che può essere convertito in valore intero o doppio, ad esempio una stringa numerica ("100"). Il valore massimo deve essere superiore (non uguale) al valore minimo.

Se il valore massimo o quello minimo è un numero a virgola mobile, Get-Random restituisce un numero a virgola mobile selezionato casualmente.

Se il valore minimo è doppio (numero a virgola mobile), il valore massimo predefinito è Double.MaxValue. Altrimenti, il valore predefinito è Int32.MaxValue (2,147,483,647 o 0x7FFFFFFF).

Obbligatorio?

false

Posizione?

1

Valore predefinito

Int32.MaxValue

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Minimum <Object>

Specifica un valore minimo per il numero casuale. Immettere un valore intero a 32 bit o un numero a virgola mobile a precisione doppia o un oggetto che può essere convertito in valore intero o doppio, ad esempio una stringa numerica ("100"). Il valore predefinito è 0 (zero).

Il valore minimo deve essere inferiore (non uguale) al valore massimo. Se il valore massimo o quello minimo è un numero a virgola mobile, Get-Random restituisce un numero a virgola mobile selezionato casualmente.

Obbligatorio?

false

Posizione?

named

Valore predefinito

0

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-SetSeed <int>

Specifica un valore iniziale per il generatore di numeri casuali. Questo valore viene utilizzato per il comando corrente e per tutti i comandi Get-Random successivi nella sessione corrente finché non si utilizza nuovamente SetSeed o non si chiude la sessione. Non è possibile reimpostare il valore iniziale predefinito, basato sul clock.

Il parametro SetSeed non è obbligatorio. Per impostazione predefinita, Get-Random utilizza il clock di sistema per generare un valore iniziale. Poiché SetSeed ha un comportamento non casuale, viene utilizzato in genere solo quando si tenta di riprodurre un comportamento, ad esempio quando si esegue il debug o l'analisi di uno script che include comandi Get-Random.

Obbligatorio?

false

Posizione?

named

Valore predefinito

System clock

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.Object

È possibile reindirizzare uno o più oggetti a Get-Random. Get-Random seleziona casualmente i valori dagli oggetti reindirizzati.

Output

System.Object

Get-Random restituisce un valore intero o un numero a virgola mobile oppure un oggetto selezionato casualmente da una raccolta inviata.

Note

Get-Random imposta un valore iniziale predefinito per ogni sessione in base al clock di sistema all'avvio della sessione.

Esempio 1

C:\PS>get-random

3951433

Descrizione
-----------
Con questo comando si ottiene un valore intero casuale compreso tra 0 (zero) e Int32.MaxValue.






Esempio 2

C:\PS>get-random -maximum 100

47

Descrizione
-----------
Con questo comando si ottiene un valore intero casuale compreso tra 0 (zero) e 99.






Esempio 3

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

-56

Descrizione
-----------
Questo comando ottiene un valore intero casuale compreso tra -100 e 99.






Esempio 4

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

18.08467273887

Descrizione
-----------
Questo comando ottiene un numero a virgola mobile casuale maggiore o uguale a 10,7 e minore di 20,92.






Esempio 5

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

8

Descrizione
-----------
Questo comando ottiene un numero selezionato casualmente dalla matrice specificata.






Esempio 6

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

3
1
13

Descrizione
-----------
Questo comando ottiene tre numeri selezionati casualmente dalla matrice in ordine casuale.






Esempio 7

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

2
3
5
1
8
13

Descrizione
-----------
Questo comando restituisce l'intera raccolta in ordine casuale. Il valore del parametro Count è la proprietà statica MaxValue dei valori interi. 

Per restituire un'intera raccolta in ordine casuale, immettere qualsiasi numero maggiore o uguale al numero di oggetti nella raccolta.






Esempio 8

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

yellow

Descrizione
-----------
Questo comando restituisce un valore casuale da una raccolta non numerica.






Esempio 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

Descrizione
-----------
Questo comando ottiene un processo selezionato casualmente dalla raccolta di processi nel computer.






Esempio 10

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

Descrizione
-----------
Questo comando esegue un comando in una serie di computer remoti in ordine casuale.






Esempio 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

Descrizione
-----------
In questo esempio viene illustrato l'effetto dell'utilizzo del parametro SetSeed. Poiché SetSeed ha un comportamento non casuale, viene utilizzato in genere solo per riprodurre risultati, ad esempio quando si esegue il debug o l'analisi di uno script.






Esempio 12

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

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

Descrizione
-----------
Questi comandi ottengono un campione di 50 file selezionati casualmente dall'unità C: del computer locale.






Esempio 13

C:\PS>get-random 10001

7600

Descrizione
-----------
Questo comando ottiene un valore intero casuale minore di 10001. Poiché il parametro Maximum è in posizione 1, è possibile omettere il nome del parametro quando il valore è il primo o l'unico parametro senza nome nel comando.









Argomenti della Guida