Číslo článku: 000146459
安全なパスワードの背後にある概念は、運用スクリプトでは、重要なパスワードをプレーンビューとして渡すべきではないということです。これはセキュリティの深刻な欠如です。したがって、PowerShellを使用すると、パスワードを保護するか、少なくともパスワードの可視性を減らすことができます。まず、セキュリティで保護された文字列の一般的な側面について説明し、次にDell Command PowerShell Provider(DCPP)がPowerShellの本質的な機能を活用してパスワードを保護する方法について説明します。
コンソールでユーザーからユーザー名とパスワードを読み取るとします。ユーザー名は通常、セキュリティを必要とせず、すべての人に表示される可能性があることがわかっています。ただし、パスワードについては、見知らぬ人にユーザーのパスワードを知らせないでください。この要件は、次のコマンドを使用して簡単に行うことができます。
$user = Read-Host "Enter Username" $pass = Read-Host "Enter Password" -AsSecureString
上記は、パスワードなどの重要な情報を保護する必要がある場合に、セキュリティを強化する方法の概要です。上記の例では、変数 $pass は System.Security.SecureString
が連携しない場合があります。DCPPの側面に触れる前に、セキュリティで保護されたフィールドを容易にするためにPowerShellに用意されている、広く使用されている他の2つのコマンドレットを紹介します。
この 2 つのコマンドは、 ConvertTo-SecureString
と ConvertFrom-SecureString
が連携しない場合があります。 ConvertTo-SecureString
プレーンテキストを型に変換します。 System.Security.SecureString
が連携しない場合があります。以下に例を示します。
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force
上記の例では、プレーンテキスト P@assword1
は型に変換されます System.Security.SecureString
が連携しない場合があります。これは情報であり、広く使用されている場合と使用されていない場合があります。
次のコマンドレット ConvertFrom-SecureString
は、セキュリティで保護された文字列を暗号化された標準文字列に変換するために使用される、より広く使用されているコマンドレットです。の主な制限事項 ConvertTo-SecureString
その出力は、将来の使用のためにファイルに直接書き込むことができないということです。私たちは使用しなければなりません ConvertFrom-SecureString
これは、 System.Security.SecureString
この制限を克服するために、便利にファイルに保存できる暗号化された標準文字列に。
プレーンテキストを変換しています P@ssword1
文字列をセキュリティで保護し、その出力を ConvertFrom-SecureString
を使用して、安全かつ便利にファイルに保存できる暗号化された文字列を取得します。
例として、コンピューター上で管理者パスワードが設定されており、これをファイルに保存する必要があるとします。これを行うには、次のものを使用します。
Read-Host "Enter Admin Password" -AsSecureString | ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"
この管理者パスワードをセキュアオブジェクトとして変数に取得するには、次のようにします。
$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString
次に、DCPPの安全なパスワードを活用する方法について考えてみましょう。DCPPでは、ユーザーのコンピューターにシステム パスワードまたは管理者パスワードが設定されている場合、すべての set
それぞれのパスワードを渡す必要があるコマンド。したがって、このパスワードをプレーンテキストとして提供すると、セキュリティに違反します。パスワードを次のように渡す必要があります。 System.Security.SecureString
が連携しない場合があります。また、 SecureString
パスワードは、 -PasswordSecure
スイッチであり、通常ではありません –Password
スイッチ。以下に、ユーザーが設定しようとしている例を示します AdvancedBatteryChargeCfg
から Disabled
と SecureString
パスワード:
Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass
ここで$passはシステム パスワードと管理者パスワードを保持し、 System.Security.SecureString
が連携しない場合があります。上記の議論と同様に、読み取ることができます $pass
として:
$pass = Read-Host "Enter system/admin password" –AsSecureString
節約できます $pass
必要に応じて、次のようにファイルをコピーします。
$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt
Dell Command | Powershell Provider
18 čvc 2024
8
How To