Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

「Dell Command PowerShell Providerセキュア パスワード機能」

Summary: Dell Command | PowerShell Provider (DCPP)のセキュア パスワード機能, Dell Command | PowerShell Provider (DCPP) Secure Password feature, ConvertTo-SecureString, ConvertFrom-SecureString

This article applies to   This article does not apply to 

Instructions

対象製品:

  • Dell Command | PowerShell Provider

セキュア パスワードの背後にある概念は、本番スクリプトで重要なパスワードをプレーン テキストで渡すべきではないということです。これは深刻なセキュリティの欠如です。そのため、PowerShellを使用して、パスワードを保護するか、少なくともパスワードの可視性を減らすことができます。まず、セキュリティで保護された文字列の一般的な側面について説明し、次にDell Command PowerShell Provider (DCPP)でPowerShell固有の機能を活用してパスワードを保護する方法について説明します。

例えば、コンソールでユーザーのユーザー名とパスワードを読み取るとします。ユーザー名は通常、セキュリティを必要とせず、すべての人に表示可能であることは周知のとおりです。ただし、ユーザー パスワードについては、他人に知らせてはなりません。この要件は、次のコマンドを使用すると簡単に導入できます。

$user = Read-Host "Enter Username"

$pass = Read-Host "Enter Password" -AsSecureString

前掲の事項は、パスワードなどの重要な情報を保護する必要がある場合に、セキュリティを強化する方法の概要です。前例では、変数「$pass」は次の型となります。 System.Security.SecureStringDCPPの側面について説明する前に、セキュリティで保護されたフィールドを導入するために、広く使用されている2つのPowerShell Providerコマンドレットを紹介します。

その2つのコマンドは、 ConvertTo-SecureStringConvertFrom-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 スイッチは使用できません。以下に、ユーザーが AdvancedBatteryChargeCfgDisabled に設定して 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

Additional Information

Affected Products

Dell Command | Powershell Provider