Get-SecureRandom
Ottiene un numero casuale o seleziona oggetti in modo casuale da una raccolta.
Sintassi
Get-SecureRandom
[[-Maximum] <Object>]
[-Minimum <Object>]
[-Count <Int32>]
[<CommonParameters>]
Get-SecureRandom
[-InputObject] <Object[]>
[-Count <Int32>]
[<CommonParameters>]
Get-SecureRandom
[-InputObject] <Object[]>
[-Shuffle]
[<CommonParameters>]
Descrizione
Il Get-SecureRandom
cmdlet ottiene un numero selezionato in modo casuale. Se si invia una raccolta di oggetti a Get-SecureRandom
, ottiene uno o più oggetti selezionati in modo casuale dall'insieme.
Senza parametri o input, un Get-SecureRandom
comando restituisce un intero senza segno a 32 bit selezionato in modo casuale tra 0 (zero) e [int32]::MaxValue
.
È possibile utilizzare i parametri di Get-SecureRandom
per specificare i valori minimo e massimo e il numero di oggetti restituiti da una raccolta.
Get-SecureRandom
genera casualità crittograficamente sicura usando la classe RandomNumberGenerator .
Esempio
Esempio 1: Ottenere un numero intero casuale
Questo comando ottiene un numero intero casuale compreso tra 0 (zero) e Int32.MaxValue.
Get-SecureRandom
3951433
Esempio 2: Ottenere un numero intero casuale compreso tra 0 e 99
Get-SecureRandom -Maximum 100
47
Esempio 3: Ottenere un numero intero casuale compreso tra -100 e 99
Get-SecureRandom -Minimum -100 -Maximum 100
56
Esempio 4: Ottenere un numero a virgola mobile casuale
Questo comando ottiene un numero a virgola mobile casuale maggiore o uguale a 10,7 e minore di 20,93.
Get-SecureRandom -Minimum 10.7 -Maximum 20.93
18.08467273887
Esempio 5: Ottenere un numero intero casuale da una matrice
Questo comando ottiene un numero selezionato in modo casuale dalla matrice specificata.
1, 2, 3, 5, 8, 13 | Get-SecureRandom
8
Esempio 6: Ottenere diversi numeri interi casuali da una matrice
Questo comando ottiene tre numeri selezionati in modo casuale in ordine casuale da una matrice.
1, 2, 3, 5, 8, 13 | Get-SecureRandom -Count 3
3
1
13
Esempio 7: Randomizzare un'intera raccolta
È possibile utilizzare il parametro Shuffle per restituire l'intera raccolta in un ordine casuale.
1, 2, 3, 5, 8, 13 | Get-SecureRandom -Shuffle
2
3
5
1
8
13
Esempio 8: Ottenere un valore non numerico casuale
Questo comando restituisce un valore casuale da una raccolta non numerica.
"red", "yellow", "blue" | Get-SecureRandom
yellow
Esempio 9: Ottenere file casuali
Questi comandi ottengono un campione selezionato in modo casuale di 50 file dall'unità C:
del computer locale.
$Files = Get-ChildItem -Path C:\* -Recurse
$Sample = $Files | Get-SecureRandom -Count 50
Esempio 10: Roll fair dadi
In questo esempio viene eseguito il rollback di un die 1200 volte e vengono conteggiato i risultati. Il primo comando ForEach-Object
ripete la chiamata a Get-SecureRandom
dalla pipe in numeri (1-6). I risultati vengono raggruppati in base al valore con Group-Object
e formattati come tabella 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
Esempio 11: Usare il parametro Count
È possibile usare il parametro Count senza eseguire il piping di oggetti in Get-SecureRandom
. L'esempio seguente ottiene tre numeri casuali minori di 10.
Get-SecureRandom -Count 3 -Maximum 10
9
0
8
Esempio 12: Usare il parametro InputObject con una stringa vuota o $null
In questo esempio, il parametro InputObject specifica una matrice contenente una stringa vuota (''
) e $null
.
Get-SecureRandom -InputObject @('a','',$null)
Get-SecureRandom
a
restituisce , stringa vuota o $null
. Lo sting vuoto viene visualizzato come riga vuota e $null
torna a un prompt di PowerShell.
Parametri
-Count
Specifica il numero di oggetti casuali da restituire. Il valore predefinito è 1.
Se usato con InputObject
contenente una raccolta:
- Ogni elemento selezionato in modo casuale viene restituito una sola volta.
- Se il valore di Count supera il numero di oggetti nell'insieme, tutti gli oggetti dell'insieme vengono restituiti in ordine casuale.
Tipo: | Int32 |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InputObject
Specifica una raccolta di oggetti. Get-SecureRandom
ottiene oggetti selezionati in modo casuale in ordine casuale dall'insieme fino al numero specificato da Count. Immettere gli oggetti, una variabile che contiene gli oggetti oppure un comando o un'espressione che ottiene gli oggetti. È anche possibile inviare tramite pipe una raccolta di oggetti a Get-SecureRandom
.
Il parametro InputObject accetta matrici che possono contenere una stringa vuota o $null
. La matrice può essere inviata verso il basso della pipeline o come valore del parametro InputObject .
Tipo: | Object[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Maximum
Specifica un valore massimo per il numero casuale. Get-SecureRandom
restituisce un valore minore del valore massimo (non uguale). Immettere un numero intero, un numero a virgola mobile e precisione doppia o un oggetto che può essere convertito in un numero intero o doppio, ad esempio una stringa numerica ("100").
Il valore di Maximum deve essere maggiore di (diverso da) il valore di Minimum. Se il valore di Maximum o Minimum è un numero a virgola mobile, Get-SecureRandom
restituisce un numero a virgola mobile selezionato in modo casuale.
In un computer a 64 bit, se il valore di Minimum è un intero a 32 bit, il valore predefinito di Maximum è Int32.MaxValue.
Se il valore di Minimum è un valore double (un numero a virgola mobile), il valore predefinito di Maximum è Double.MaxValue. In caso contrario, il valore predefinito è Int32.MaxValue.
Tipo: | Object |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Minimum
Specifica un valore minimo per il numero casuale. Immettere un numero intero, un numero a virgola mobile e precisione doppia o un oggetto che può essere convertito in un numero intero o doppio, ad esempio una stringa numerica ("100"). Il valore predefinito è 0 (zero).
Il valore di Minimum deve essere minore (diverso da) il valore di Maximum. Se il valore di Maximum o Minimum è un numero a virgola mobile, Get-SecureRandom
restituisce un numero a virgola mobile selezionato in modo casuale.
Tipo: | Object |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Shuffle
Restituisce l'intera raccolta in un ordine casuale.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe qualsiasi oggetto a questo cmdlet. Seleziona i valori in modo casuale dagli oggetti inviati tramite pipe.
Output
Questo cmdlet restituisce un numero intero o a virgola mobile o un oggetto selezionato in modo casuale da una raccolta inviata.
Note
Get-SecureRandom
non restituisce sempre lo stesso tipo di dati del valore di input. Nella tabella seguente viene illustrato il tipo di output per ognuno dei tipi di input numerici.
Tipo di input | Tipo di output |
---|---|
SByte | Double |
Byte | Double |
Int16 | Double |
UInt16 | Double |
Int32 | Int32 |
UInt32 | Double |
Int64 | Int64 |
UInt64 | Double |
Double | Double |
Singola | Double |