PowerShell でセキュリティで保護された文字列をプレーン テキストに変換する
-
Marshal
クラスを使用して、PowerShell でセキュリティで保護された文字列をプレーン テキストに変換する -
ConvertFrom-SecureString
コマンドレットを使用して、PowerShell でセキュリティで保護された文字列をプレーン テキストに変換する -
NetworkCredential
クラスを使用して、PowerShell でセキュリティで保護された文字列をプレーン テキストに変換する
セキュリティで保護された文字列のテキストは、PowerShell のメモリで暗号化されます。 可逆暗号化を使用するため、必要に応じてプレーン テキスト文字列に戻すことができます。
ConvertTo-SecureString
コマンドレットは、プレーン テキストまたは暗号化された文字列をセキュリティで保護された文字列に変換します。 このチュートリアルでは、PowerShell でセキュリティで保護された文字列をプレーン テキストに変換する方法を説明します。
Marshal
クラスを使用して、PowerShell でセキュリティで保護された文字列をプレーン テキストに変換する
次のコマンドは、プレーン テキスト文字列 P0w3rsh311
を安全な文字列に変換し、変数 $securePassword
に格納します。
$securePassword = ConvertTo-SecureString "P0w3rsh311" -AsPlainText -Force
次の例では、.NET Framework の Marshal
クラスを使用して、セキュリティで保護された文字列をプレーン テキストに変換します。
[System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($securePassword))
出力:
P0w3rsh311
ConvertFrom-SecureString
コマンドレットを使用して、PowerShell でセキュリティで保護された文字列をプレーン テキストに変換する
ConvertFrom-SecureString
コマンドレットは、セキュリティで保護された文字列を暗号化された標準文字列に変換します。 PowerShell 7.0 から、セキュリティで保護された文字列をプレーン テキスト文字列に変換する新しいパラメーター -AsPlainText
が追加されました。
次の例では、PowerShell バージョン 7.0 以降が必要です。
ConvertFrom-SecureString -SecureString $securePassword -AsPlainText
出力:
P0w3rsh311
NetworkCredential
クラスを使用して、PowerShell でセキュリティで保護された文字列をプレーン テキストに変換する
NetworkCredential
クラスを使用して、PowerShell でセキュリティで保護された文字列をプレーン テキストに変換することもできます。
次のコマンドは、ユーザーにパスワードを入力し、安全な文字列として変数 $securePassword
に保存するように求めます。
$securePassword = Read-Host "Enter password: " -AsSecureString
出力:
Enter password: **********
次の例では、セキュリティで保護された文字列を出力としてプレーン テキスト文字列に変換します。
[System.Net.NetworkCredential]::new("", $securePassword).Password
出力:
P0w3rsh311
この記事が、PowerShell でセキュリティで保護された文字列をプレーン テキストに変換するさまざまな方法を理解するのに役立つことを願っています。