Получает случайное число или случайным образом выбирает объекты из коллекции.
Синтаксис
Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>] [<CommonParameters>] Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>] [<CommonParameters>]
Описание
Командлет Get-Random получает выбранное случайным образом число. Если передать командлету Get-Random коллекцию объектов, он вернет один или несколько выбранных случайным образом объектов этой коллекции.
Без параметров или входного значения команда Get-Random возвращает случайное 32-битное целое число без знака от 0 до значения Int32.MaxValue (0x7FFFFFFF, 2 147 483 647).
С помощью параметров командлета Get-Random можно задать начальное число, минимальное и максимальное значения, а также количество объектов, возвращаемых из переданной коллекции.
Параметры
-Count <int>
Определяет количество возвращаемых объектов. По умолчанию используется значение 1. Если значение Count превышает число объектов в коллекции, командлет Get-Random возвращает все объекты в случайном порядке.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
1 |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-InputObject <Object[]>
Задает коллекцию объектов. Командлет Get-Random получает случайным образом выбранные объекты этой коллекции в случайном порядке. Введите объекты, переменную, содержащую объекты, либо получающую их команду или выражение. Кроме того, коллекцию объектов можно передать командлету Get-Random по конвейеру.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue) |
Принимать подстановочные знаки? |
false |
-Maximum <Object>
Задает максимальное значение случайного числа. Командлет Get-Random возвращает значение, не превышающее максимальное. Введите 32-битное целое число или число с плавающей запятой двойной точности или объект, который можно преобразовать в целое число или число двойной точности, например числовую строку ("100"). Значение Maximum должно быть больше (не равно) значению Minimum.
Если значение Maximum или Minimum является числом с плавающей запятой, командлет Get-Random возвращает случайное число с плавающей запятой.
Если значение Minimum является числом с плавающей запятой двойной точности, значение Maximum по умолчанию равно Double.MaxValue. В противном случае по умолчанию используется значение Int32.MaxValue (2 147 483 647 или 0x7FFFFFFF).
Обязательно? |
false |
Позиция? |
1 |
Значение по умолчанию |
Int32.MaxValue |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Minimum <Object>
Задает минимальное значение случайного числа. Введите 32-битное целое число или число с плавающей запятой двойной точности или объект, который можно преобразовать в целое число или число двойной точности, например числовую строку ("100"). Значение по умолчанию — 0 (нуль).
Значение Minimum не должно превышать значения Maximum. Если значение Maximum или Minimum является числом с плавающей запятой, командлет Get-Random возвращает случайное число с плавающей запятой.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
0 |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-SetSeed <int>
Задает начальное значение для генератора случайных чисел. Это начальное значение будет использоваться для текущей команды и для всех последующих команд Get-Random в текущем сеансе до установки нового значения SetSeed или завершения сеанса. Невозможно вернуть начальное значение к своему значению по умолчанию, получаемому на основании показаний часов.
Параметр SetSeed является необязательным. По умолчанию командлет Get-Random использует для получения начального значения системные часы. Поскольку при задании значения SetSeed результат выполнения команды не является строго случайным, этот параметр обычно используют в случаях, когда требуется воспроизвести определенную ситуацию, например при отладке или анализе скриптов, включающих команды Get-Random.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
System clock |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.Object Командлету Get-Random можно передать один или несколько объектов по конвейеру. Командлет Get-Random случайным образом выбирает значения из переданных по конвейеру объектов. |
Выходные данные |
System.Object Командлет Get-Random возвращает целое число или число с плавающей запятой или объект, случайным образом выбранный из переданной коллекции. |
Примечания
Командлет Get-Random устанавливает начальное значение для каждого сеанса на основании показаний системных часов в момент запуска сеанса.
Пример 1
C:\PS>get-random 3951433 Описание ----------- Эта команда получает случайное целое значение в интервале от 0 (нуля) до значения Int32.MaxValue.
Пример 2
C:\PS>get-random -maximum 100 47 Описание ----------- Эта команда получает случайное целое значение в интервале от 0 (нуля) до 99.
Пример 3
C:\PS>get-random -minimum -100 -maximum 100 -56 Описание ----------- Эта команда получает случайное целое значение в интервале от -100 до 99.
Пример 4
C:\PS>get-random -min 10.7 -max 20.93 18.08467273887 Описание ----------- Эта команда получает случайное число с плавающей запятой, больше или равное 10,7 и меньше 20,92.
Пример 5
C:\PS>get-random -input 1, 2, 3, 5, 8, 13 8 Описание ----------- Эта команда получает случайным образом выбранное число из заданного массива.
Пример 6
C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count 3 3 1 13 Описание ----------- Эта команда получает три случайным образом выбранных числа из массива в случайном порядке.
Пример 7
C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count ([int]::MaxValue) 2 3 5 1 8 13 Описание ----------- Эта команда возвращает все элементы коллекции в случайном порядке. Значение параметра Count равно статическому свойству MaxValue целочисленного массива. Чтобы вернуть всю коллекцию в случайном порядке, введите любое число, превышающее количество элементов в коллекции или равное ему.
Пример 8
C:\PS>get-random -input "red", "yellow", "blue" yellow Описание ----------- Эта команда возвращает случайное значение из коллекции, элементы которой не являются числами.
Пример 9
C:\PS>get-process | get-random Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 144 4 2080 488 36 0.48 3164 wmiprvse Описание ----------- Эта команда получает случайным образом выбранный процесс из коллекции запущенных на компьютере процессов.
Пример 10
C:\PS>get-content servers.txt | get-random -count (get-content servers.txt).count | foreach {invoke-expression -computer $_ -command 'get-process powershell'} Описание ----------- Эта команда в случайном порядке выполняет команду для нескольких удаленных компьютеров.
Пример 11
C:\PS>get-random -max 100 -setseed 23 # Commands with the default seed are pseudorandom PS C:\ps-test> get-random -max 100 59 PS C:\ps-test> get-random -max 100 65 PS C:\ps-test> get-random -max 100 21 # Commands with the same seed are not random PS C:\ps-test> get-random -max 100 -setseed 23 74 PS C:\ps-test> get-random -max 100 -setseed 23 74 PS C:\ps-test> get-random -max 100 -setseed 23 74 # SetSeed results in a repeatable series PS C:\ps-test> get-random -max 100 -setseed 23 74 PS C:\ps-test> get-random -max 100 56 PS C:\ps-test> get-random -max 100 84 PS C:\ps-test> get-random -max 100 46 PS C:\ps-test> get-random -max 100 -setseed 23 74 PS C:\ps-test> get-random -max 100 56 PS C:\ps-test> get-random -max 100 84 PS C:\ps-test> get-random -max 100 46 Описание ----------- В этом примере показан результат применения параметра SetSeed. Поскольку при задании значения SetSeed результат выполнения команды не является случайным, этот параметр обычно используют в случаях, когда требуется воспроизвести определенную ситуацию, например при отладке или анализе скриптов.
Пример 12
C:\PS>$files = dir -path c:\* -recurse C:\PS> $sample = $files | get-random -count 50 Описание ----------- Эти команды получают случайным образом выбранный набор из 50 файлов на диске C: локального компьютера.
Пример 13
C:\PS>get-random 10001 7600 Описание ----------- Эта команда получает случайное целое число меньше 10001. Поскольку параметр Maximum имеет позицию 1, имя этого параметра можно опустить, если значение относится к первому или единственному не указанному параметру в команде.