ググれば先人の書いたコードがいくらでも見つかるわけですが、自分用のメモとして。
英数字と記号入り
$N = 8 #桁数
$Chars = '0123456789' + 'abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '!@#$%^&*()_-+=[{]};:<>|./?'
-join ((1..$N) | % {Get-Random -input $Chars.ToCharArray()})
# bBUy#D{Q
2行目の $Chars = '0123456789' + ...
の箇所でパスワードに含まれる文字を列挙しています。
用途によっては記号は入れたくないとか、特定の文字を除外したいといった場合もあるかと思いますので、適宜調整してください。
英数字だけ
$N = 8 #桁数
$Chars = '0123456789' + 'abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-join ((1..$N) | % {Get-Random -input $Chars.ToCharArray()})
# Ai7WraCz
紛らわしい文字と記号を除外
# 紛らわしい文字: 0, 1, l, o, I, O
$N = 8 #桁数
$Chars = '23456789' + 'abcdefghijkmnpqrstuvwxyz' + 'ABCDEFGHJKLMNPQRSTUVWXYZ'
-join ((1..$N) | % {Get-Random -input $Chars.ToCharArray()})
# GyA85znW
以上です。
2021/04/09
PowerShell 7の環境でも動作するコードに変更
紛らわしい文字を除外するコード例を追加