Megosztás a következőn keresztül:


Get-Random

Véletlenszerű számot kap, vagy véletlenszerűen választ ki objektumokat egy gyűjteményből.

Syntax

RandomNumberParameterSet (Alapértelmezett)

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

RandomListItemParameterSet

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

Description

A Get-Random parancsmag véletlenszerűen kiválasztott számot kap. Ha objektumgyűjteményt küld Get-Random, az egy vagy több véletlenszerűen kiválasztott objektumot kap a gyűjteményből.

Paraméterek és bemenet nélkül a Get-Random parancs véletlenszerűen kiválasztott, 32 bites, aláíratlan egész számot ad vissza 0 (nulla) és Int32.MaxValue (0x7FFFFFFF, 2,147,483,647).

A Get-Random paramétereivel megadhatja a kezdőszámot, a minimális és maximális értékeket, valamint a beküldött gyűjteményből visszaadott objektumok számát.

Példák

1. példa: Véletlenszerű egész szám lekérése

Ez a parancs véletlenszerű egész számot kap 0 (nulla) és Int32.MaxValueközött.

Get-Random
3951433

2. példa: Véletlenszerű egész szám lekérése 0 és 99 között

Get-Random -Maximum 100
47

3. példa: Véletlenszerű egész szám lekérése -100 és 99 között

Get-Random -Minimum -100 -Maximum 100
56

4. példa: Véletlenszerű lebegőpontos szám lekérése

Ez a parancs egy véletlenszerű lebegőpontos számot kap, amely nagyobb vagy egyenlő 10,7-nél, és kisebb, mint 20,92.

Get-Random -Minimum 10.7 -Maximum 20.93
18.08467273887

5. példa: Véletlenszerű egész szám lekérése tömbből

Ez a parancs véletlenszerűen kiválasztott számot kap a megadott tömbből.

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

6. példa: Több véletlenszerű egész szám lekérése tömbből

Ez a parancs három véletlenszerűen kiválasztott számot kap véletlenszerű sorrendben egy tömbből.

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

7. példa: Teljes gyűjtemény véletlenszerűsítése

Ez a parancs véletlenszerű sorrendben adja vissza a teljes gyűjteményt.

A Count paraméter értéke az egész számok MaxValue statikus tulajdonsága.

Ha véletlenszerű sorrendben szeretne visszaadni egy teljes gyűjteményt, adjon meg minden olyan számot, amely nagyobb vagy egyenlő a gyűjteményben lévő objektumok számánál.

1, 2, 3, 5, 8, 13 | Get-Random -Count ([int]::MaxValue)
2
3
5
1
8
13

8. példa: Véletlenszerű nem numerikus érték lekérése

Ez a parancs véletlenszerű értéket ad vissza egy nem numerikus gyűjteményből.

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

9. példa: A SetSeed paraméter használata

Ez a példa a SetSeed paraméter használatát mutatja be.

Mivel SetSeed nem véletlenszerű viselkedést eredményez, általában csak az eredmények reprodukálására használják, például szkriptek hibakereséséhez vagy elemzéséhez.

# Commands with the default seed are pseudorandom
Get-Random -Maximum 100 -SetSeed 23
Get-Random -Maximum 100
Get-Random -Maximum 100
Get-Random -Maximum 100
74
56
84
46
# Commands with the same seed are not random
Get-Random -Maximum 100 -SetSeed 23
Get-Random -Maximum 100 -SetSeed 23
Get-Random -Maximum 100 -SetSeed 23
74
74
74
# SetSeed results in a repeatable series
Get-Random -Maximum 100 -SetSeed 23
Get-Random -Maximum 100
Get-Random -Maximum 100
Get-Random -Maximum 100
74
56
84
46

10. példa: Véletlenszerű fájlok lekérése

Ezek a parancsok véletlenszerűen kiválasztott 50 fájlból álló mintát kapnak a helyi számítógép C: meghajtójáról.

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

11. példa: Dobókockák

Ez a példa 1200-szor dob egy tisztességes die-t, és megszámolja az eredményeket. Az első parancs, For-EachObject megismétli a Get-Random hívását a csöves számokkal (1-6). Az eredmények Group-Object és Select-Objecttáblázatként vannak csoportosítva.

1..1200 | ForEach-Object {
    1..6 | Get-Random
} | Group-Object | Select-Object Name,Count
Name Count
---- -----
1      206
2      199
3      196
4      226
5      185
6      188

Paraméterek

-Count

A visszaadni kívánt véletlenszerű objektumok vagy számok számát adja meg. Az alapértelmezett érték 1.

A InputObjecthasználatakor, ha a Darabszám értéke meghaladja a gyűjteményben lévő objektumok számát, Get-Random véletlenszerű sorrendben adja vissza az összes objektumot.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

RandomListItemParameterSet
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-InputObject

Objektumgyűjteményt ad meg. Get-Random véletlenszerűen kiválasztott objektumokat kap véletlenszerű sorrendben a gyűjteménytől a Darabszámáltal megadott számig. Adja meg az objektumokat, az objektumokat tartalmazó változót, vagy az objektumokat lekérő parancsot vagy kifejezést. Objektumgyűjteményt is becsúszthat Get-Random.

Paramétertulajdonságok

Típus:

Object[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

RandomListItemParameterSet
Position:0
Kötelező:True
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Maximum

A véletlenszerű szám maximális értékét adja meg. Get-Random a maximálisnál kisebb (nem egyenlő) értéket ad vissza. Adjon meg egy egész számot, egy dupla pontosságú lebegőpontos számot, vagy egy olyan objektumot, amely egész számmá vagy kettőssé alakítható át, például numerikus sztringet ("100").

A Maximális értékének nagyobbnak kell lennie Minimálisértékénél (nem egyenlő). Ha a Maximális vagy Minimális értéke lebegőpontos szám, Get-Random véletlenszerűen kiválasztott lebegőpontos számot ad vissza.

64 bites számítógépen, ha a Minimális értéke 32 bites egész szám, a Maximális alapértelmezett értéke Int32.MaxValue.

Ha a Minimális értéke kettős (lebegőpontos szám), akkor a Maximális alapértelmezett értéke a Double.MaxValue . Ellenkező esetben az alapértelmezett érték Int32.MaxValue.

Paramétertulajdonságok

Típus:Object
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

RandomNumberParameterSet
Position:0
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Minimum

A véletlenszerű szám minimális értékét adja meg. Adjon meg egy egész számot, egy dupla pontosságú lebegőpontos számot, vagy egy olyan objektumot, amely egész számmá vagy kettőssé alakítható át, például numerikus sztringet ("100"). Az alapértelmezett érték 0 (nulla).

A Minimális értékének kisebbnek kell lennie Maximálisértékénél (nem egyenlő). Ha a Maximális vagy Minimális értéke lebegőpontos szám, Get-Random véletlenszerűen kiválasztott lebegőpontos számot ad vissza.

Paramétertulajdonságok

Típus:Object
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

RandomNumberParameterSet
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SetSeed

A véletlenszerű számgenerátor kezdőértékét adja meg. Ezt a kezdőértéket az aktuális parancshoz és az aktuális munkamenet minden további Get-Random parancsához használja, amíg a SetSeed újra nem használja, vagy be nem zárja a munkamenetet. A mag nem állítható vissza az alapértelmezett értékre.

A SetSeed paraméter nem szükséges. Alapértelmezés szerint a Get-Random a RandomNumberGenerator() metódust használja a magérték létrehozásához. Mivel SetSeed nem véletlenszerű viselkedést eredményez, általában csak a viselkedés reprodukálásakor használatos, például Get-Random parancsokat tartalmazó szkriptek hibakereséséhez vagy elemzéséhez.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

Object

Egy vagy több objektumot is becsúszthat. Get-Random véletlenszerűen választ ki értékeket a pipaobjektumokból.

Kimenetek

System.Int32, System.Int64, System.Double

Get-Random egy egész számot vagy lebegőpontos számot ad vissza, vagy egy, a beküldött gyűjteményből véletlenszerűen kiválasztott objektumot.

Jegyzetek

Get-Random minden munkamenethez beállít egy alapértelmezett magot a munkamenet indításakor beállított rendszeridő alapján.

A Windows PowerShell 3.0-tól kezdve Get-Random támogatja a 64 bites egész számokat. A Windows PowerShell 2.0-ban minden érték a System.Int32 .