PowerShell Cmdlet - ConvertTo-SecureString
 記事記号:[mf1925] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    ConvertTo-SecureString
    
概要
    暗号化された標準文字列をセキュリティ保護された文字列に変換します。プレーン 
    テキストをセキュリティで保護された文字列に変換することもできます。ConvertFro
    m-SecureString および Read-Host と組み合わせて使用します。
    
構文
    ConvertTo-SecureString [-Key <Byte[]>] [-String] <string> [<CommonParameters
    >]
    
    ConvertTo-SecureString [[-AsPlainText]] [[-Force]] [-String] <string> [<Comm
    onParameters>]
    
    ConvertTo-SecureString [[-SecureKey] <SecureString>] [-String] <string> [<Co
    mmonParameters>]
    
説明
    ConvertTo-SecureString コマンドレットは、暗号化された標準文字列をセキュリテ
    ィ保護された文字列に変換します。プレーン テキストをセキュリティで保護された
    文字列に変換することもできます。ConvertFrom-SecureString および Read-Host と
    組み合わせて使用します。このコマンドレットによって作成された、セキュリティで
    保護された文字列は、SecureString 型のパラメーターを必要とするコマンドレット
    または関数で使用できます。セキュリティで保護された文字列は、ConvertFrom-Secu
    reString コマンドレットを使用して、暗号化された標準文字列に戻すことができま
    す。この機能を使用すると、文字列をファイルに保存して後で使用できます。
    
    変換対象の標準文字列が、指定されたキーを使用して ConvertFrom-SecureString に
    よって暗号化されている場合、そのキーを ConvertTo-SecureString コマンドレット
    の Key または SecureKey パラメーターの値として渡す必要があります。
    
パラメーター
    -AsPlainText [<SwitchParameter>]
        セキュリティで保護された文字列に変換するプレーン テキスト文字列を指定し
        ます。セキュリティで保護された文字列に関するコマンドレットは、機密テキス
        トを保護するために役立ちます。テキストは機密保護のため暗号化され、使用後
        はコンピューターのメモリから削除されます。このパラメーターを使用してプレ
        ーン テキストを入力として提供した場合、その入力はこの方法では保護されま
        せん。このパラメーターを使用するには、Force パラメーターも指定する必要が
        あります。
        
        必須                         false
        位置                         2
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Force [<SwitchParameter>]
        ユーザーが AsPlainText パラメーターを使用する意味を理解した上で使用する
        ことを確認します。
        
        必須                         false
        位置                         3
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Key <Byte[]>
        セキュリティで保護された文字列を暗号化された標準文字列に変換するときに使
        用する暗号化キーを指定します。有効なキーの長さは、16、24、および 32 バイ
        トです。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -SecureKey <SecureString>
        セキュリティで保護された文字列を暗号化された標準文字列に変換するときに使
        用する暗号化キーを指定します。このキーは、セキュリティで保護された文字列
        の形式で提供する必要があります。セキュリティで保護された文字列は、キーと
        して使用される前にバイト配列に変換されます。有効なキーの長さは、16、24、
        および 32 バイトです。
        
        必須                         false
        位置                         2
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -String <string>
        セキュリティで保護された文字列に変換する文字列を指定します。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.String
        パイプを使用して、ConvertTo-SecureString に暗号化された標準文字列を渡す
        ことができます。
    
出力
    System.Security.SecureString
        ConvertTo-SecureString は、SecureString オブジェクトを返します。
        
メモ
    -------------------------- 例 1 --------------------------
    
    C:\PS>$secure = read-host -assecurestring
    
    C:\PS> $secure
    System.Security.SecureString
    
    C:\PS> $encrypted = convertfrom-securestring -securestring $secure
    C:\PS> $encrypted
    01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abda
    e9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7efa
    79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b10000000
    8bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd6eb67a
    ae41
    
    C:\PS> $secure2 = convertto-securestring -string $encrypted
    C:\PS> $secure2
    System.Security.SecureString
    
    説明
    -----------
    この例は、ユーザー入力からセキュリティで保護された文字列を作成し、暗号化され
    た標準文字列に変換して、その暗号化された標準文字列をセキュリティで保護された
    文字列に戻す方法を示しています。
    
    最初のコマンドは、Read-Host コマンドレットの AsSecureString パラメーターを使
    用してセキュリティで保護された文字列を作成します。コマンドを入力した後、入力
    した文字はセキュリティで保護された文字列に変換され、$secure 変数に保存されま
    す。
    
    2 番目のコマンドは、$secure 変数の内容を表示します。$secure 変数にはセキュリ
    ティで保護された文字列が格納されているので、Windows PowerShell は System.Sec
    urity.SecureString 型のみを表示します。
    
    3 番目のコマンドは、ConvertFrom-SecureString コマンドレットを使用して、$secu
    re 変数内のセキュリティで保護された文字列を暗号化された標準文字列に変換しま
    す。結果は $encrypted 変数に保存されます。4 番目のコマンドは、$encrypted 変
    数の値の暗号化された文字列を表示します。
    
    5 番目のコマンドは、ConvertTo-SecureString コマンドレットを使用して、$encryp
    ted 変数内の暗号化された標準文字列をセキュリティで保護された文字列に戻します。
    結果は $secure2 変数に保存されます。6 番目のコマンドは、$secure2 変数の値を
    表示します。SecureString 型は、コマンドが正常に実行されたことを示します。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>$secure = read-host -assecurestring
    
    C:\PS> $encrypted = convertfrom-securestring -secureString $secure -key (1..
           16)
    
    C:\PS> $encrypted | set-content encrypted.txt
    
    C:\PS> $secure2 = get-content encrypted.txt | convertto-securestring -key (
           1..16)
    
    説明
    -----------
    この例では、ファイルに保存された暗号化された標準文字列からセキュリティで保護
    された文字列を作成する方法を示しています。
    
    最初のコマンドは、Read-Host コマンドレットの AsSecureString パラメーターを使
    用してセキュリティで保護された文字列を作成します。コマンドを入力した後、入力
    した文字はセキュリティで保護された文字列に変換され、$secure 変数に保存されま
    す。
    
    2 番目のコマンドは、指定されたキーで ConvertFrom-SecureString コマンドレット
    を使用して、$secure 変数内のセキュリティで保護された文字列を暗号化された標準
    文字列に変換します。内容は $encrypted 変数に保存されます。
    
    3 番目のコマンドは、パイプライン演算子 (|) を使用して $encrypted 変数の値を 
    Set-Content コマンドレットに渡し、コマンドレットは、その値を Encrypted.txt 
    ファイルに保存します。
    
    4 番目のコマンドは、Get-Content コマンドレットを使用して、Encrypted.txt ファ
    イルの暗号化された標準文字列を取得します。コマンドは、暗号化された文字列をパ
    イプライン演算子を使用して ConvertTo-SecureString コマンドレットに渡し、コマ
    ンドレットは、指定されたキーを使用してそれをセキュリティで保護された文字列に
    変換します。結果は $secure2 変数に保存されます。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>$secure_string_pwd = convertto-securestring "P@ssW0rD!" -asplaintext -
    force
    
    説明
    -----------
    このコマンドは、プレーン テキスト文字列 "P@ssW0rD!" をセキュリティで保護され
    た文字列に変換し、その結果を $secure_string_pwd 変数に保存します。AsPlainText 
    パラメーターを使用するには、コマンドに Force パラメーターも含める必要がありま
    す。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113291
    ConvertFrom-SecureString 
    Read-Host 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、ConvertTo-SecureString
ご利用数: 1917039
感想・要望・問い合わせは こちら