PowerShell HelpFile - about_data_sections
 記事記号:[me1525] 初版:2011/May/10

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

トピック
    about_Data_Sections

簡易説明
    テキスト文字列と読み取り専用データをスクリプト ロジックから分離する Data セ
    クションについて説明します。

詳細説明
    Windows PowerShell 用に設計されたスクリプトには、データのみが含まれた 1 つま
    たは複数の Data セクションを指定することができます。1 つのスクリプト、関数、
    または高度な関数に、1 つまたは複数の Data セクションを含めることができます。
    Data セクションのコンテンツは、Windows PowerShell スクリプト言語の指定された
    サブセットに制限されます。

    データをコード ロジックから分離すると、ロジックとデータ両方の識別および管理
    がより容易になります。これによって、エラー メッセージおよびヘルプ文字列など
    のテキスト用に、個別の文字列リソース ファイルを用意することが可能になります。
    また、コード ロジックが分離されることで、セキュリティ テストおよび有効性テス
    トも容易になります。

    Windows PowerShell では、Data セクションはスクリプトの国際化対応のサポートに
    使用されます。Data セクションを使用して、多くのユーザー インターフェイス (UI) 
    言語に翻訳される文字列の分離、検索、および処理をより容易にすることができます。

    Data セクションは、Windows PowerShell 2.0 の機能です。Data セクションがある
    スクリプトは、Windows PowerShell 1.0 (リビジョンなし) では実行できません。

  構文

    Data セクションの構文は次のとおりです。

        DATA [-supportedCommand ] {

            
        }

    Data キーワードは必須です。大文字と小文字は区別されません。

    許可されるコンテンツは次の要素に制限されます。

        - -match 以外のすべての Windows PowerShell 演算子	 
        
        - If、Else、および ElseIf ステートメント
           
	- 自動変数 $PsCulture、$PsUICulture、$True、$False、および $Null

        - コメント

        - パイプライン

        - セミコロン (;) によって区切られたステートメント

        - 次のようなリテラル

            a

            1
  
            1,2,3
	
            "Windows PowerShell 2.0"

            @( "red", "green", "blue" )

            @{ a = 0x1; b = "great"; c ="script" }

            [XML] @'
             

Hello, World

'@ - Data セクションで許可されるコマンドレット。既定では、ConvertFrom-Strin gData コマンドレットのみ許可されています。 - SupportedCommand パラメーターを使用することによって、Data セクションで 許可されるコマンドレット。 Data セクションで ConvertFrom-StringData コマンドレットを使用すると、キー/値 のペアを、単一引用符または二重引用符で囲まれた文字列か、単一引用符または二重 引用符で囲まれた here-string で囲むことができます。ただし、変数およびサブ式 を格納している文字列は、変数が展開されたり、サブ式が実行可能になったりしない ように、単一引用符で囲まれた文字列または単一引用符で囲まれた here-string で 囲む必要があります。 SupportedCommand SupportedCommand パラメーターを使用すると、コマンドレットまたは関数からデ ータのみが生成されるように指定できます。つまりユーザーは、記述またはテスト したコマンドレットおよび関数を Data セクションに含めることができます。 SupportedCommand の値は、1 つまたは複数のコマンドレット名または関数名のコ ンマ区切りリストです。 たとえば、次に示す Data セクションには、ユーザー記述の Format-XML というコ マンドレットが含まれています。このコマンドレットは、データを XML ファイル として書式化するものです。 DATA -supportedCommand Format-XML { Format-XML -strings string1, string2, string3 } Data セクションの使用 Data セクションのコンテンツを使用するには、その Data セクションを変数に割 り当て、変数表記を使用してコンテンツにアクセスします。 たとえば、次の data セクションには、here-string をハッシュ テーブルに変換 する ConvertFrom-StringData コマンドが含まれます。ハッシュ テーブルは $Tex tMsgs 変数に代入されます。 $TextMsgs 変数は、データ セクションの一部ではありません。 $TextMsgs = DATA { ConvertFrom-StringData -stringdata @' Text001 = Windows 7 Text002 = Windows Server 2008 R2 '@ } $TextMsgs 内のハッシュ テーブルにあるキーおよび値にアクセスするには、以下 のコマンドを使用します。 $TextMsgs.Text001 $TextMsgs.Text002 例 単純なデータ文字列。 DATA { "Thank you for using my Windows PowerShell Organize.pst script." "It is provided free of charge to the community." "I appreciate your comments and feedback." } 許可された変数を含む文字列。 DATA { if ($null) { "To get help for this cmdlet, type get-help new-dictionary." } } ConvertFrom-StringData コマンドレットを使用し、単一引用符で囲まれた here-str ing。 DATA { ConvertFrom-StringData -stringdata @" Msg1 = To start, press any key. Msg2 = To exit, type "quit". "@ } ConvertFrom-StringData コマンドレットを使用し、二重引用符で囲まれた here-str ing。 DATA { ConvertFrom-StringData -stringdata @" Msg1 = To start, press any key. Msg2 = To exit, type "quit". "@ } データを生成するユーザー記述のコマンドレットを含む Data セクション。 DATA -supportedCommand Format-XML { Format-XML -strings string1, string2, string3 } 関連項目 about_Automatic_Variables about_Comparison_Operators about_Hash_Tables about_If about_Operators about_Quoting_Rules about_Script_Internationalization ConvertFrom-StringData Import-LocalizedData
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、HelpFile、about_data_sections
ご利用数: 1973199
感想・要望・問い合わせは こちら