Get-Random
Ruft eine Zufallszahl ab oder wählt Objekte nach dem Zufallsprinzip aus einer Auflistung aus.
Syntax
Get-Random
[-SetSeed <Int32>]
[[-Maximum] <Object>]
[-Minimum <Object>]
[<CommonParameters>]
Get-Random
[-SetSeed <Int32>]
[-InputObject] <Object[]>
[-Count <Int32>]
[<CommonParameters>]
Beschreibung
Das Get-Random
Cmdlet ruft eine zufällig ausgewählte Zahl ab. Wenn Sie eine Auflistung von -Objekten an Get-Random
übermitteln, ruft sie ein oder mehrere zufällig ausgewählte Objekte aus der Auflistung ab.
Ohne Parameter oder Eingabe gibt ein Get-Random
Befehl eine zufällig ausgewählte 32-Bit-Ganzzahl ohne Vorzeichen zwischen 0 (null) und Int32.MaxValue (0x7FFFFFFF
, 2,147,483,647
) zurück.
Sie können die Parameter von Get-Random
verwenden, um eine Startnummer, einen Minimal- und Höchstwert sowie die Anzahl der von einer übermittelten Auflistung zurückgegebenen Objekte anzugeben.
Beispiele
Beispiel 1: Abrufen einer zufälligen ganzzahligen Zahl
Dieser Befehl ruft eine zufällige ganze Zahl zwischen 0 (Null) und Int32.MaxValue ab.
Get-Random
3951433
Beispiel 2: Abrufen einer zufälligen ganzzahligen Zahl zwischen 0 und 99
Get-Random -Maximum 100
47
Beispiel 3: Abrufen einer zufälligen ganzen Zahl zwischen -100 und 99
Get-Random -Minimum -100 -Maximum 100
56
Beispiel 4: Abrufen einer zufälligen Gleitkommazahl
Dieser Befehl ruft eine zufällige Gleitkommazahl ab, die größer oder gleich 10.7 und kleiner als 20.92 ist.
Get-Random -Minimum 10.7 -Maximum 20.93
18.08467273887
Beispiel 5: Abrufen einer zufälligen ganzzahligen Zahl aus einem Array
Dieser Befehl ruft eine zufällig ausgewählte Zahl aus dem angegebenen Array ab.
1, 2, 3, 5, 8, 13 | Get-Random
8
Beispiel 6: Abrufen mehrerer zufälliger Ganzzahlen aus einem Array
Dieser Befehl ruft drei zufällig ausgewählte Zahlen in zufälliger Reihenfolge aus einem Array ab.
1, 2, 3, 5, 8, 13 | Get-Random -Count 3
3
1
13
Beispiel 7: Randomisieren einer gesamten Auflistung
Dieser Befehl gibt die gesamte Auflistung in zufälliger Reihenfolge zurück.
Der Wert des Count-Parameters ist die statische MaxValue-Eigenschaft von ganzen Zahlen.
Um eine ganze Auflistung in zufälliger Reihenfolge zurückgegeben, geben Sie eine Zahl ein, die größer oder gleich der Anzahl der Objekte in der Auflistung ist.
1, 2, 3, 5, 8, 13 | Get-Random -Count ([int]::MaxValue)
2
3
5
1
8
13
Beispiel 8: Abrufen eines zufälligen nicht numerischen Werts
Dieser Befehl gibt einen zufälligen Wert aus einer nicht numerischen Auflistung zurück.
"red", "yellow", "blue" | Get-Random
yellow
Beispiel 9: Verwenden des SetSeed-Parameters
Dieses Beispiel zeigt die Auswirkungen der Verwendung des SetSeed-Parameters.
Da SetSeed zu nicht zufälligem Verhalten führt, wird es i. d. R. nur für die Reproduzierung von Ergebnissen verwendet, z. B. beim Debuggen oder Analysieren eines Skripts.
# 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
Beispiel 10: Abrufen zufälliger Dateien
Diese Befehle rufen eine zufällig ausgewählte Stichprobe von 50 Dateien vom C:
Laufwerk des lokalen Computers ab.
$Files = Get-ChildItem -Path C:\* -Recurse
$Sample = $Files | Get-Random -Count 50
Beispiel 11: Roll fair dice
In diesem Beispiel wird ein Fair-Die 1200-mal rollt und die Ergebnisse zählt. Mit dem ersten Befehl wird der Aufruf Get-Random
von von wiederholt, For-EachObject
der in Zahlen (1-6) übergeben wurde. Die Ergebnisse werden nach ihrem Wert mit Group-Object
gruppiert und als Tabelle mit Select-Object
formatiert.
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
Parameter
-Count
Gibt die Anzahl der zurückzugebenden zufälligen Objekte oder Zahlen an. Der Standardwert ist 1.
Wenn mit InputObject
verwendet wird, gibt, wenn der Wert von Count die Anzahl der Objekte in der Auflistung überschreitet, Get-Random
alle Objekte in zufälliger Reihenfolge zurück.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Gibt eine Auflistung von Objekten an. Get-Random
ruft zufällig ausgewählte Objekte in zufälliger Reihenfolge von der Auflistung bis zur durch Count angegebenen Zahl ab. Geben Sie die Objekte, eine Variable, die die Objekte enthält, oder einen Befehl oder Ausdruck ein, der die Objekte abruft. Sie können auch eine Auflistung von -Objekten an übergeben Get-Random
.
Type: | Object[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Maximum
Gibt einen maximalen Wert für die Zufallszahl an. Get-Random
gibt einen Wert zurück, der kleiner als der Maximalwert (ungleich) ist. Geben Sie eine ganze Zahl, eine Gleitkommazahl mit doppelter Genauigkeit oder ein Objekt ein, das in eine ganze Zahl oder ein Double konvertiert werden kann, z. B. eine numerische Zeichenfolge ("100").
Der Wert von Maximum muss größer sein als der Wert von Minimum (ungleich). Wenn der Wert von Maximum oder Minimum eine Gleitkommazahl ist, Get-Random
gibt eine zufällig ausgewählte Gleitkommazahl zurück.
Wenn der Wert von Minimum auf einem 64-Bit-Computer eine 32-Bit-Ganzzahl ist, ist der Standardwert von MaximumInt32.MaxValue.
Wenn der Wert von Minimum ein double (eine Gleitkommazahl) ist, ist der Standardwert von MaximumDouble.MaxValue. Andernfalls ist der Standardwert Int32.MaxValue.
Type: | Object |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Minimum
Gibt einen minimalen Wert für die Zufallszahl an. Geben Sie eine ganze Zahl, eine Gleitkommazahl mit doppelter Genauigkeit oder ein Objekt ein, das in eine ganze Zahl oder ein Double konvertiert werden kann, z. B. eine numerische Zeichenfolge ("100"). Der Standardwert ist 0 (null).
Der Wert von Minimum muss kleiner sein als der Wert von Maximum (ungleich). Wenn der Wert von Maximum oder Minimum eine Gleitkommazahl ist, Get-Random
gibt eine zufällig ausgewählte Gleitkommazahl zurück.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SetSeed
Gibt einen Ausgangswert für den Zufallszahlengenerator an. Dieser Ausgangswert wird für den aktuellen Befehl und für alle nachfolgenden Get-Random
Befehle in der aktuellen Sitzung verwendet, bis Sie SetSeed erneut verwenden oder die Sitzung schließen. Sie können den Ausgangswert nicht auf den Standardwert zurücksetzen.
Der Parameter SetSeed ist nicht erforderlich. Standardmäßig wird die RandomNumberGenerator()-Methode verwendet, Get-Random
um einen Startwert zu generieren. Da SetSeed zu einem nicht zufälligen Verhalten führt, wird es in der Regel nur verwendet, wenn versucht wird, Verhalten zu reproduzieren, z. B. beim Debuggen oder Analysieren eines Skripts, das Befehle enthält Get-Random
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Sie können ein oder mehrere Objekte übergeben. Get-Random
wählt nach dem Zufallsprinzip Werte aus den übergebenen Objekten aus.
Ausgaben
System.Int32, System.Int64, System.Double
Get-Random
gibt eine ganze Zahl oder Gleitkommazahl oder ein zufällig aus einer übermittelten Auflistung ausgewähltes Objekt zurück.
Hinweise
Get-Random
legt einen Standardwertwert für jede Sitzung basierend auf der Systemzeituhr zum Start der Sitzung fest.
Ab Windows PowerShell 3.0 Get-Random
unterstützt 64-Bit-Ganzzahlen. In Windows PowerShell 2.0 werden alle Werte in System.Int32 umgewandelt.