Dela via


Get-SecureRandom

Hämtar ett slumptal eller väljer objekt slumpmässigt från en samling.

Syntax

Get-SecureRandom
   [[-Maximum] <Object>]
   [-Minimum <Object>]
   [-Count <Int32>]
   [<CommonParameters>]
Get-SecureRandom
   [-InputObject] <Object[]>
   [-Count <Int32>]
   [<CommonParameters>]
Get-SecureRandom
   [-InputObject] <Object[]>
   [-Shuffle]
   [<CommonParameters>]

Description

Cmdleten Get-SecureRandom hämtar ett slumpmässigt valt tal. Om du skickar en samling objekt till Get-SecureRandomhämtar den ett eller flera slumpmässigt markerade objekt från samlingen.

Utan parametrar eller indata returnerar ett Get-SecureRandom kommando ett slumpmässigt valt 32-bitars osignerat heltal mellan 0 (noll) och [int32]::MaxValue.

Du kan använda parametrarna Get-SecureRandom för för att ange lägsta och högsta värden och antalet objekt som returneras från en samling.

Get-SecureRandom genererar kryptografiskt säker slumpmässighet med hjälp av klassen RandomNumberGenerator .

Exempel

Exempel 1: Hämta ett slumpmässigt heltal

Det här kommandot hämtar ett slumpmässigt heltal mellan 0 (noll) och Int32.MaxValue.

Get-SecureRandom

3951433

Exempel 2: Hämta ett slumpmässigt heltal mellan 0 och 99

Get-SecureRandom -Maximum 100

47

Exempel 3: Hämta ett slumpmässigt heltal mellan -100 och 99

Get-SecureRandom -Minimum -100 -Maximum 100

56

Exempel 4: Hämta ett slumpmässigt flyttalsnummer

Det här kommandot hämtar ett slumpmässigt flyttalsnummer som är större än eller lika med 10,7 och mindre än 20,93.

Get-SecureRandom -Minimum 10.7 -Maximum 20.93

18.08467273887

Exempel 5: Hämta ett slumpmässigt heltal från en matris

Det här kommandot hämtar ett slumpmässigt valt tal från den angivna matrisen.

1, 2, 3, 5, 8, 13 | Get-SecureRandom

8

Exempel 6: Hämta flera slumpmässiga heltal från en matris

Det här kommandot hämtar tre slumpmässigt valda tal i slumpmässig ordning från en matris.

1, 2, 3, 5, 8, 13 | Get-SecureRandom -Count 3

3
1
13

Exempel 7: Randomisera en hel samling

Du kan använda parametern Shuffle för att returnera hela samlingen i slumpmässig ordning.

1, 2, 3, 5, 8, 13 | Get-SecureRandom -Shuffle

2
3
5
1
8
13

Exempel 8: Hämta ett slumpmässigt icke-numeriskt värde

Det här kommandot returnerar ett slumpmässigt värde från en icke-numerisk samling.

"red", "yellow", "blue" | Get-SecureRandom

yellow

Exempel 9: Hämta slumpmässiga filer

Dessa kommandon får ett slumpmässigt valt exempel på 50 filer från enheten på C: den lokala datorn.

$Files = Get-ChildItem -Path C:\* -Recurse
$Sample = $Files | Get-SecureRandom -Count 50

Exempel 10: Rulla rättvis tärning

Det här exemplet rullar en rättvis tärning 1200 gånger och räknar resultatet. Det första kommandot ForEach-Object upprepar anropet till Get-SecureRandom från piped i tal (1-6). Resultaten grupperas efter deras värde med Group-Object och formateras som en tabell med 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

Exempel 11: Använd parametern Count

Du kan använda parametern Count utan piping-objekt till Get-SecureRandom. I följande exempel hämtas tre slumpmässiga tal som är mindre än 10.

Get-SecureRandom -Count 3 -Maximum 10

9
0
8

Exempel 12: Använd parametern InputObject med en tom sträng eller $null

I det här exemplet anger parametern InputObject en matris som innehåller en tom sträng ('') och $null.

Get-SecureRandom -InputObject @('a','',$null)

Get-SecureRandom returnerar antingen a, tom sträng eller $null. Det tomma stinget visas som en tom rad och $null återgår till en PowerShell-prompt.

Parametrar

-Count

Anger antalet slumpmässiga objekt som ska returneras. Standardvärdet är 1.

När det används med InputObject innehållande en samling:

  • Varje slumpmässigt markerat objekt returneras bara en gång.
  • Om värdet för Antal överskrider antalet objekt i samlingen returneras alla objekt i samlingen i slumpmässig ordning.
Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-InputObject

Anger en samling objekt. Get-SecureRandom hämtar slumpmässigt markerade objekt i slumpmässig ordning från samlingen upp till det tal som anges av Count. Ange objekten, en variabel som innehåller objekten eller ett kommando eller uttryck som hämtar objekten. Du kan också skicka en samling objekt till Get-SecureRandom.

Parametern InputObject accepterar matriser som kan innehålla en tom sträng eller $null. Matrisen kan skickas nedåt i pipelinen eller som ett InputObject-parametervärde .

Typ:Object[]
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Maximum

Anger ett maximalt värde för det slumpmässiga talet. Get-SecureRandom returnerar ett värde som är mindre än det maximala (inte lika med). Ange ett heltal, ett flyttal med dubbel precision eller ett objekt som kan konverteras till ett heltal eller dubbelt, till exempel en numerisk sträng ("100").

Värdet för Maximum måste vara större än (inte lika med) värdet för Minimum. Om värdet för Maximum eller Minimum är ett flyttalsnummer Get-SecureRandom returnerar ett slumpmässigt valt flyttalsnummer.

Om värdet Minimum är ett 32-bitars heltal på en 64-bitars dator är standardvärdet För Maximalt Int32.MaxValue.

Om värdet för Minimum är en dubbel (ett flyttalsnummer) är standardvärdet Maximum Double.MaxValue. Annars är standardvärdet Int32.MaxValue.

Typ:Object
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Minimum

Anger ett minsta värde för det slumpmässiga talet. Ange ett heltal, ett flyttal med dubbel precision eller ett objekt som kan konverteras till ett heltal eller dubbelt, till exempel en numerisk sträng ("100"). Standardvärdet är 0 (noll).

Värdet för Minimum måste vara mindre än (inte lika med) värdet för Maximum. Om värdet för Maximum eller Minimum är ett flyttalsnummer Get-SecureRandom returnerar ett slumpmässigt valt flyttalsnummer.

Typ:Object
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Shuffle

Returnerar hela samlingen i en slumpmässig ordning.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

Object

Du kan skicka valfritt objekt till den här cmdleten. Den väljer värden slumpmässigt från piped-objekten.

Utdata

Int32

Int64

Double

PSObject

Den här cmdleten returnerar ett heltal eller flyttalsnummer, eller ett objekt som valts slumpmässigt från en skickad samling.

Kommentarer

Get-SecureRandom returnerar inte alltid samma datatyp som indatavärdet. I följande tabell visas utdatatypen för var och en av de numeriska indatatyperna.

Indatatyp Utdatatyp
SByte Dubbel
Byte Dubbel
Int16 Dubbel
UInt16 Dubbel
Int32 Int32
UInt32 Dubbel
Int64 Int64
UInt64 Dubbel
Dubbel Dubbel
Enstaka Dubbel