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
Двойной