Вот несколько способов создания случайной строки в 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)