パスワードを長くし、簡単に推測できないようにすることが重要です。安全なパスワードを作成する方法は知っているかもしれませんが、自動的に生成するスクリプトがあれば便利ではありませんか?Windowsを使用している場合、PowerShellを使用してランダムなパスワードジェネレータを作成できます。このジェネレータは、さまざまな長さと複雑さのパスワードを生成します!
独自のランダムなパスワードジェネレータを作成する代わりに、既にMicrosoftが提供しているGeneratePassword()
.NETメソッドを使用するだけです。このメソッドは、System.Web.Security.Membership
クラスに含まれており、必要なすべての機能を備えています。
スクリプトの作成
このシンプルなスクリプトを作成するには、まずSystem.Web
アセンブリを利用できるようにする必要があります。System.Web.Security.Membership
クラスは、このアセンブリの一部であり、デフォルトでは使用できません。
System.Web
アセンブリを利用できるようになったら、GeneratePassword()
メソッドを呼び出すことができます。
GeneratePassword()
メソッドには2つの引数があります。 length
とnumberOfNonAlphanumericCharacters
です。これらの引数を使用すると、PowerShellを使用してさまざまなランダムなパスワードを作成することができます。
- Length – パスワードの文字数です。
- numberOfNonAlphanumericCharacters – メソッドが生成する非英数字文字の数です。@、%、&などの文字を指します。
まず、希望するパスワードの長さを定義します。以下の例では、変数として10を設定し、メソッドに渡します。
次に、パスワードに含める非英数字の数を定義します。以下のコードスニペットでは、変数として5を設定し、メソッドに渡すことで、パスワードに5つの非アルファベット文字が含まれるようにします。
次に、上記で定義した変数の値をGeneratePassword()
メソッドに渡して呼び出します。
上記のコードスニペットを実行すると、PowerShellは文字列のランダムな組み合わせを返します。これを任意の場所で使用できます。
ランダムなパスワードの長さの作成
さらにランダムさを増すために、パスワードの長さもランダムにすることもできます。Get-Random
コマンドレットを使用してランダムな整数を生成し、length
引数として使用してランダムな長さのパスワードを生成します!
このパスワードをPowerShellで使用する場合、多くのコンポーネントでセキュアな文字列が必要です。パスワードをプレーンテキスト文字列として取得した後、ConvertTo-SecureString
コマンドレットを使用してセキュアな文字列に変換できます。
PowerShell関数の作成
最後に、このランダムパスワードジェネレーターをさらに進化させ、上記で説明した構文をすべて覚える必要なく、どこでも使用できる関数を作成します。
この機能をプロフィールに追加した後、おそらくPowerShellモジュールを使用するか、または現在のセッションにコピー/貼り付けするだけで、簡単に実行できます。
Source:
https://adamtheautomator.com/random-password-generator/