Заметки о Windows и других программных продуктах Microsoft...

Get-Random

Get-Random

С помощью командлета Get-Random можно получить случайное число из заданного диапазона, а также выбрать случайный объект из коллекции объектов. Введенный без параметров, Get-Random вернет случайное число в диапазоне от 0 до 2,147,483,647 (максимально возможное 32-битное число, Int32.MaxValue).

При необходимости можно ограничить диапазон, из которого будет выбрано число. Так зададим верхний диапазон равным 1000:

Get-Random -Maximum 1000

А нижний ограничим числом 100:

Get-Random -Maximum 1000 -Minimum 100

Названия параметров можно сокращать, например так:

Get-Random -max 1000 -min 100

Примечание. Параметр Maximum является дефолтным, поэтому его название вообще можно не указывать. Остальные параметры необходимо указывать в явном виде. Т.е. можно писать Get-Random 1000, но нельзя Get-Random 1000 100.

Значение можно выбирать не только из целых чисел. Так следующая команда вернет случайное число с плавающей запятой в диапазоне от 0.1 до 9.9:

Get-Random — Maximum 9.9 -Minimum 0.1

вывод произвольного числа

 

Задать коллекцию объектов можно параметром InputObject. Следующая команда выведет случайное число из списка:

Get-Random -InputObject 1,2,3,4,6,7,9

Список чисел можно задать и так:

Get-Random -InputObject (1..10)

Можно выбрать не один объект, а несколько. Например следующая команда выдаст из заданного списка три случайных числа:

Get-Random -InputObject (1..10) -Count 3

Чтобы получить всю коллекцию в произвольном порядке, надо указать значение Count, равное или превышающее количество элементов в коллекции. Как вариант, можно указать значение ([int]::MaxValue). Следующая команда возвращает все числа от 1 до 10 в случайном порядке:

Get-Random -InputObject (1..10) -Count ([int]::MaxValue)

выбор произвольного значения из коллекции

 

По умолчанию Get-Random использует для получения начального значения для генератора случайных чисел системные часы. При необходимости это значение можно задать вручную, с помощью параметра SetSeed:

Get-Random -Maximum 100 -SetSeed 10

При задании значения SetSeed результат будет не совсем случайным, а главное — его всегда можно повторить.

задание начального значения для генератора случайных чисел

 

Get-Random может работать как с числами, так и с любыми другими объектами. Так например, можно вывести случайное значение из набора слов:

Get-Random -InputObject ″one″,″two″,″three″

выбор произвольного текстового значения из коллекции

 

Получить случайный процесс из списка процессов, запущенных на компьютере:

$proc = Get-Process
Get-Random -InputObject $proc

вывод произвольного процесса

 

Или вывести произвольный фрагмент текста из «Властелина колец»:

$content = Get-Content C:\LordOfTheRing.txt
Get-Random -InputObject $content

вывод произвольной строки текста

 

В общем, возможностей у Get-Random довольно много, осталось только придумать им применение 🙂

 
 
Комментарии

Пока нет комментариев.