Генерация случайных строк в PowerShell с примерами кода

Вот несколько способов создания случайной строки в PowerShell:

Метод 1: использование командлета Get-Random с параметрами -Count и -InputObject

$characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
$length = 10
$randomString = -join ((Get-Random -InputObject $characters -Count $length))

Метод 2: использование метода [System.Guid]::NewGuid()

$randomString = [System.Guid]::NewGuid().ToString()

Метод 3. Использование класса [System.Security.Cryptography.RNGCryptoServiceProvider]

$length = 10
$randomBytes = New-Object byte[] $length
$randomProvider = New-Object System.Security.Cryptography.RNGCryptoServiceProvider
$randomProvider.GetBytes($randomBytes)
$randomString = -join ($randomBytes | ForEach-Object { $characters[$_%$characters.Length] })

Метод 4. Использование класса [System.Random]

$characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
$length = 10
$random = New-Object System.Random
$randomString = -join ($random.Next(0, $characters.Length) | ForEach-Object { $characters[$_] })

Метод 5. Использование оператора -join с диапазоном символов

$characters = 97..122 + 65..90 + 48..57 | ForEach-Object { [char]$_ }
$length = 10
$randomString = -join ($characters | Get-Random -Count $length)