Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【PowerShell】英数字だけからなる指定の長さのランダムな文字列を得る

Get-Randomコマンドレットを利用する。返される文字に重複がなくてもよければ以下のとおり。-Countオプションには必要な文字列の長さを指定する。Get-Randomコマンドレットの機能上、返される文字列の最大長さは62(=10+26+26)。

PS > -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 5 | % {[char]$_})
GPi4X
PS > -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 10 | % {[char]$_})
NU8Q1pKFba

文字の重複有りのランダムな文字列を得たい場合は、以下のとおり。-join演算子次にある数値配列がカウンタの役割をしているため、ここを1..50などとすれば、長さが50のランダムな文字列が返される。こちらは返される文字の長さに制限はない。

PS > -join (1..10 | %{(48..57) + (65..90) + (97..122) | Get-Random | % {[char]$_}})
0Lix5X3X6a
PS > -join (1..20 | %{(48..57) + (65..90) + (97..122) | Get-Random | % {[char]$_}})
r72LO5Pjqb2Oz5w7FFuG