Get-SecureRandom
Pobiera losową liczbę lub losowo wybiera obiekty z kolekcji.
Składnia
Get-SecureRandom
[[-Maximum] <Object>]
[-Minimum <Object>]
[-Count <Int32>]
[<CommonParameters>]
Get-SecureRandom
[-InputObject] <Object[]>
[-Count <Int32>]
[<CommonParameters>]
Get-SecureRandom
[-InputObject] <Object[]>
[-Shuffle]
[<CommonParameters>]
Opis
Polecenie Get-SecureRandom
cmdlet pobiera losowo wybraną liczbę. W przypadku przesyłania kolekcji obiektów do Get-SecureRandom
obiektu zostanie ona pobierana co najmniej jeden losowo wybrany obiekt z kolekcji.
Bez parametrów lub danych wejściowych Get-SecureRandom
polecenie zwraca losowo wybraną 32-bitową liczbę całkowitą bez znaku z zakresu od 0 (zero) do [int32]::MaxValue
.
Możesz użyć parametrów , Get-SecureRandom
aby określić minimalne i maksymalne wartości oraz liczbę obiektów zwracanych z kolekcji.
Get-SecureRandom
generuje kryptograficznie bezpieczną losowość przy użyciu klasy RandomNumberGenerator .
Przykłady
Przykład 1. Pobieranie losowej liczby całkowitej
To polecenie pobiera losową liczbę całkowitą z zakresu od 0 (zero) do Int32.MaxValue.
Get-SecureRandom
3951433
Przykład 2: Pobieranie losowej liczby całkowitej z zakresu od 0 do 99
Get-SecureRandom -Maximum 100
47
Przykład 3. Pobieranie losowej liczby całkowitej z zakresu od -100 do 99
Get-SecureRandom -Minimum -100 -Maximum 100
56
Przykład 4. Pobieranie losowej liczby zmiennoprzecinkowej
To polecenie pobiera losową liczbę zmiennoprzecinkową większą lub równą 10,7 i mniejszą niż 20,93.
Get-SecureRandom -Minimum 10.7 -Maximum 20.93
18.08467273887
Przykład 5. Pobieranie losowej liczby całkowitej z tablicy
To polecenie pobiera losowo wybraną liczbę z określonej tablicy.
1, 2, 3, 5, 8, 13 | Get-SecureRandom
8
Przykład 6. Pobieranie kilku losowych liczb całkowitych z tablicy
To polecenie pobiera trzy losowo wybrane liczby w kolejności losowej z tablicy.
1, 2, 3, 5, 8, 13 | Get-SecureRandom -Count 3
3
1
13
Przykład 7. Losowe określanie całej kolekcji
Możesz użyć parametru Shuffle , aby zwrócić całą kolekcję w kolejności losowej.
1, 2, 3, 5, 8, 13 | Get-SecureRandom -Shuffle
2
3
5
1
8
13
Przykład 8. Pobieranie losowej wartości nieliczbowej
To polecenie zwraca losową wartość z kolekcji nieliczbowej.
"red", "yellow", "blue" | Get-SecureRandom
yellow
Przykład 9. Pobieranie losowych plików
Te polecenia pobierają losowo wybraną próbkę 50 plików z C:
dysku komputera lokalnego.
$Files = Get-ChildItem -Path C:\* -Recurse
$Sample = $Files | Get-SecureRandom -Count 50
Przykład 10: rzutowania kostką
W tym przykładzie rzutuje uczciwą kostkę 1200 razy i zlicza wyniki. Pierwsze polecenie ForEach-Object
powtarza wywołanie Get-SecureRandom
z potoku w liczbach (1–6). Wyniki są grupowane według ich wartości Group-Object
i sformatowane jako tabela z wartością 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
Przykład 11. Użyj parametru Count
Możesz użyć parametru Count bez obiektów potokowych do Get-SecureRandom
. Poniższy przykład pobiera trzy losowe liczby mniejsze niż 10.
Get-SecureRandom -Count 3 -Maximum 10
9
0
8
Przykład 12: Użyj parametru InputObject z pustym ciągiem lub $null
W tym przykładzie parametr InputObject określa tablicę zawierającą pusty ciąg (''
) i $null
.
Get-SecureRandom -InputObject @('a','',$null)
Get-SecureRandom
Zwraca wartość a
, ciąg pusty lub $null
. Pusta sting jest wyświetlana jako pusty wiersz i $null
wraca do wiersza programu PowerShell.
Parametry
-Count
Określa liczbę obiektów losowych do zwrócenia. Wartość domyślna to 1.
W przypadku użycia z InputObject
kolekcją:
- Każdy losowo wybrany element jest zwracany tylko raz.
- Jeśli wartość Count przekracza liczbę obiektów w kolekcji, wszystkie obiekty w kolekcji są zwracane w kolejności losowej.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Określa kolekcję obiektów. Get-SecureRandom
pobiera losowo wybrane obiekty w kolejności losowej z kolekcji do liczby określonej przez liczbę. Wprowadź obiekty, zmienną zawierającą obiekty lub polecenie lub wyrażenie, które pobiera obiekty. Możesz również przekazać kolekcję obiektów do Get-SecureRandom
obiektu .
Parametr InputObject akceptuje tablice, które mogą zawierać pusty ciąg lub $null
. Tablicę można wysłać w dół potoku lub jako wartość parametru InputObject .
Typ: | Object[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Maximum
Określa wartość maksymalną dla liczby losowej. Get-SecureRandom
Zwraca wartość mniejszą niż wartość maksymalna (nie równa się). Wprowadź liczbę całkowitą, liczbę zmiennoprzecinkową o podwójnej precyzji lub obiekt, który można przekonwertować na liczbę całkowitą lub podwójną, na przykład ciąg liczbowy ("100").
Wartość Maksimum musi być większa niż (nie równa się) wartości Minimum. Jeśli wartość Maksymalna lub Minimalna jest liczbą zmiennoprzecinkową, Get-SecureRandom
zwraca losowo wybraną liczbę zmiennoprzecinkową.
Na komputerze 64-bitowym, jeśli wartość Minimum jest 32-bitową liczbą całkowitą, wartość domyślna Maksimum to Int32.MaxValue.
Jeśli wartość Minimum jest podwójna (liczba zmiennoprzecinkowa), wartość domyślna maksymalna to Double.MaxValue. W przeciwnym razie wartość domyślna to Int32.MaxValue.
Typ: | Object |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Minimum
Określa minimalną wartość dla liczby losowej. Wprowadź liczbę całkowitą, liczbę zmiennoprzecinkową o podwójnej precyzji lub obiekt, który można przekonwertować na liczbę całkowitą lub podwójną, na przykład ciąg liczbowy ("100"). Wartością domyślną jest 0 (zero).
Wartość Minimum musi być mniejsza niż (nie równa się) wartości Maksimum. Jeśli wartość Maksymalna lub Minimalna jest liczbą zmiennoprzecinkową, Get-SecureRandom
zwraca losowo wybraną liczbę zmiennoprzecinkową.
Typ: | Object |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Shuffle
Zwraca całą kolekcję w kolejności losowej.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Do tego polecenia cmdlet można przekazać dowolny obiekt. Wybiera wartości losowo z obiektów potokowych.
Dane wyjściowe
To polecenie cmdlet zwraca liczbę całkowitą lub zmiennoprzecinkową albo obiekt wybrany losowo z przesłanej kolekcji.
Uwagi
Get-SecureRandom
Nie zawsze zwraca ten sam typ danych co wartość wejściowa. W poniższej tabeli przedstawiono typ danych wyjściowych dla każdego z typów danych wejściowych liczbowych.
Typ danych wejściowych | Typ danych wyjściowych |
---|---|
SByte | Liczba rzeczywista |
Byte | Liczba rzeczywista |
Int16 | Liczba rzeczywista |
UInt16 | Liczba rzeczywista |
Int32 | Int32 |
UInt32 | Liczba rzeczywista |
Int64 | Int64 |
UInt64 | Liczba rzeczywista |
Liczba rzeczywista | Liczba rzeczywista |
Pojedynczy | Liczba rzeczywista |