PowerShell – 02 – Random

Save page

Es gibt die Möglichkeit unter PowerShell eine Random Zahl oder etwas anderes zufällig auszugeben. Beispielsweise kann man Zahlen von eins bis Zehn zufällig ausegben lassen oder auch Buchstaben.

Das Ganze wird mittels der Funktion Random realisiert. Aufzurufen ist diese über System.Random. Seit PowerShell 3.0 ist dies jedoch erheblich einfacher geworden. Siehe dazu Get-Random.

Es muss ein neues Objekt erstellt werden, New-Object System Random und einer Variable $x zugewiesen werden. $x = New-Object System Random. Über die Objekteigenschaft von $x wird die Eigenschaft next() genutzt um den minimalen und maximalen Wert festzulegen.Bede werde sind durch ein Komma getrennt $x.next(1,10). Nun kann eine Ausgabe über eine Hilfs Variable erzeugt werden. $y = $x.next(1,10).

Codebeispiele

Würfel

 

Zufallsbuchstabe

Get-Random

Mittels der Cmdlet Get-Random lässt sich ein zufälliger Wert wesentlich einfacher und bequemer erstellen. Dazu ein praktisches Beispiel, mittags kommt die beliebte Frage auf „Wo sollen wir den nur essen gehen?“ Gibt es eine breite Auswahl an Restaurants, kann hier Get-Random helfen 😉

Dazu wird ein Array mit den allen Restaurants bzw. Speisemöglichkeiten benötigt. Diese können mit Semikolon oder Komma separiert werden (siehe Script).

 Die Auswahl erfolgt dann mittels Get-Ramdom, als Maximalwert wird die Anzahl der Restaurants genommen, also der Count von unserem Array. Ein Minimum muss nicht angegeben werden, wenn dies gleich Null ist. Jedoch geht es noch einfacher, dies zeigt das letzte Codebeispiel im Artikel.

Das Script kann man natürlich auch noch mit einer Messagebox und einer Dauerschleife füf eine Neuwahl aufbessern.

Über den Wiederholen Button in der Messagebox kann solange ein neues Restaurant gewählt werden, bis das gewünschte „zufällig“ angezeigt wird.

Restaurantwahl

Ebenso können auch Strings zufällig aus einer vorgebenden Liste gewählt werden. Hier wieder auf die Restaurantwahl bezogen.

Wie zusehen ist, kann die Wahl des Restaurants auch in einen Einzeiler (Oneliner) packen. Weiter Beispiele mit Get-Random  gibt es im Technet Artikel [engl.] von MS.

rewe

Ein Gedanke zu „PowerShell – 02 – Random

  1. Pingback: PowerShell – 13 – Simpler Passwortgenerator | Blog: Stefan Rehwald

Kommentar verfassen