Поделиться через


Get-SecureRandom

Получает случайное число или выбирает объекты случайным образом из коллекции.

Синтаксис

Get-SecureRandom
   [[-Maximum] <Object>]
   [-Minimum <Object>]
   [-Count <Int32>]
   [<CommonParameters>]
Get-SecureRandom
   [-InputObject] <Object[]>
   [-Count <Int32>]
   [<CommonParameters>]
Get-SecureRandom
   [-InputObject] <Object[]>
   [-Shuffle]
   [<CommonParameters>]

Описание

Командлет Get-SecureRandom получает случайно выбранный номер. Если вы отправляете коллекцию объектов в Get-SecureRandom, она получает один или несколько случайных выбранных объектов из коллекции.

Без параметров или входных данных команда Get-SecureRandom возвращает случайно выбранное 32-разрядное целое число без знака от 0 до [int32]::MaxValue.

Параметры Get-SecureRandom можно использовать для указания минимальных и максимальных значений и количества объектов, возвращаемых из коллекции.

Get-SecureRandom создает криптографически безопасную случайность с помощью класса RandomNumberGenerator.

Примеры

Пример 1. Получение случайного целого числа

Эта команда получает случайное целое число от 0 до Int32.MaxValue.

Get-SecureRandom

3951433

Пример 2. Получение случайного целого числа от 0 до 99

Get-SecureRandom -Maximum 100

47

Пример 3. Получение случайного целого числа между -100 и 99

Get-SecureRandom -Minimum -100 -Maximum 100

56

Пример 4. Получение случайного числа с плавающей запятой

Эта команда получает случайное число с плавающей запятой больше или равно 10,7 и меньше 20,93.

Get-SecureRandom -Minimum 10.7 -Maximum 20.93

18.08467273887

Пример 5. Получение случайного целого числа из массива

Эта команда получает случайно выбранное число из указанного массива.

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

8

Пример 6. Получение нескольких случайных целых чисел из массива

Эта команда получает три случайных выбранных числа в случайном порядке из массива.

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

3
1
13

Пример 7. Случайное создание всей коллекции

Для возврата всей коллекции в случайном порядке можно использовать параметр Shuffle.

1, 2, 3, 5, 8, 13 | Get-SecureRandom -Shuffle

2
3
5
1
8
13

Пример 8. Получение случайного нечисленного значения

Эта команда возвращает случайное значение из нечисленной коллекции.

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

yellow

Пример 9. Получение случайных файлов

Эти команды получают выборку из 50 файлов из C: диска локального компьютера.

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

Пример 10. Свертка справедливой кости

В этом примере свернута справедливая смерть 1200 раз и подсчитывает результаты. Первая команда ForEach-Object повторяет вызов Get-SecureRandom из канала в номерах (1-6). Результаты группируются по их значению с Group-Object и форматируются в виде таблицы с Select-Object.

1..1200 | ForEach-Object {
    1..6 | Get-SecureRandom
} | Group-Object | Select-Object Name,Count

Name Count
---- -----
1      206
2      199
3      196
4      226
5      185
6      188

Пример 11. Использование параметра Count

Для Get-SecureRandomможно использовать параметр Count без объектов piping. В следующем примере получается три случайных числа меньше 10.

Get-SecureRandom -Count 3 -Maximum 10

9
0
8

Пример 12. Использование параметра InputObject с пустой строкой или $null

В этом примере параметр inputObject указывает массив, содержащий пустую строку ('') и $null.

Get-SecureRandom -InputObject @('a','',$null)

Get-SecureRandom возвращает a, пустую строку или $null. Пустой угл отображается в виде пустой строки и $null возвращается в запрос PowerShell.

Параметры

-Count

Указывает количество возвращаемых случайных объектов. Значение по умолчанию — 1.

При использовании с InputObject, содержащей коллекцию:

  • Каждый случайный выбранный элемент возвращается только один раз.
  • Если значение Count превышает количество объектов в коллекции, все объекты в коллекции возвращаются в случайном порядке.
Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Задает коллекцию объектов. Get-SecureRandom получает случайные выбранные объекты в случайном порядке из коллекции до числа, указанного Count. Введите объекты, переменную, содержащую объекты, или команду или выражение, которое получает объекты. Можно также передать коллекцию объектов в Get-SecureRandom.

Параметр InputObject принимает массивы, которые могут содержать пустую строку или $null. Массив можно отправить вниз по конвейеру или как значение параметра inputObject InputObject.

Тип:Object[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Maximum

Задает максимальное значение случайного числа. Get-SecureRandom возвращает значение, которое меньше максимального (не равно). Введите целое число, число с плавающей запятой двойной точности или объект, который можно преобразовать в целочисленное или двойное число, например числовую строку ("100").

Значение Максимальное должно быть больше (не равно) значению минимального . Если значение Максимальное или Минимальное является числом с плавающей запятой, Get-SecureRandom возвращает случайно выбранное число с плавающей запятой.

На 64-разрядном компьютере, если значение Минимальное имеет 32-разрядное целое число, значение по умолчанию Максимальное равно Int32.MaxValue.

Если значение Минимальное является двойным (число с плавающей запятой), значение по умолчанию MaxValue равно Double.MaxValue. В противном случае значение по умолчанию — Int32.MaxValue.

Тип:Object
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Minimum

Задает минимальное значение случайного числа. Введите целое число, число с плавающей запятой двойной точности или объект, который можно преобразовать в целочисленное или двойное число, например числовую строку ("100"). Значение по умолчанию — 0 (ноль).

Значение минимального должно быть меньше (не равно) значению Maximum. Если значение Максимальное или Минимальное является числом с плавающей запятой, Get-SecureRandom возвращает случайно выбранное число с плавающей запятой.

Тип:Object
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Shuffle

Возвращает всю коллекцию в случайном порядке.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

Object

Вы можете передать любой объект в этот командлет. Он выбирает значения случайным образом из конвейерных объектов.

Выходные данные

Int32

Int64

Double

PSObject

Этот командлет возвращает целое число или число с плавающей запятой или объект, выбранный случайным образом из отправленной коллекции.

Примечания

Get-SecureRandom не всегда возвращает тот же тип данных, что и входное значение. В следующей таблице показан тип вывода для каждого из числовых типов входных данных.

Тип входных данных Тип вывода
SByte Двойной
Байт Двойной
Int16 Двойной
UInt16 Двойной
Int32 Int32
UInt32 Двойной
Int64 Int64
UInt64 Двойной
Двойной Двойной
Единственный Двойной