Поиск по сайту:

Get-SecureRandom (Microsoft.PowerShell.Utility)


Get-SecureRandom

Модуль:
Microsoft.PowerShell.Utility

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

Синтаксис

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

Вы можете использовать параметр Count, не передавая объекты в Get-SecureRandom. В следующем примере получаются три случайных числа меньше 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

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-InputObject

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

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

Тип :

Object[]

Позиция:

0

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-Maximum

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

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

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

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

Тип :

Объект

Позиция:

0

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Minimum

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

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

Тип :

Объект

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Shuffle

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

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

Входы

Объект

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

Выходы

Int32

Int64

Двойной

PSObject

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

Примечания

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

SByte

Двойной

Byte

Двойной

Int16

Двойной

UInt16

Двойной

Int32

Int32

UInt32

Двойной

Int64

Int64

UInt64

Двойной

Double

Двойной

Single

Двойной