PowerShell Cmdlet - Use-Transaction
 記事記号:[mh1928] 初版:2011/Sep/30

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

名前
    Use-Transaction
    
概要
    スクリプト ブロックを有効なトランザクションに追加します。
    
構文
    Use-Transaction [-TransactedScript] <scriptblock> [-UseTransaction] [<Common
    Parameters>]
        
説明
    Use-Transaction コマンドレットは、スクリプト ブロックを有効なトランザクショ
    ンに追加します。その結果、トランザクション対応の Microsoft .NET Framework オ
    ブジェクトを使用したトランザクション スクリプトの実行が可能になります。スク
    リプト ブロックに格納できるのは、Microsoft.PowerShell.Commands.Management.Tr
    ansactedString クラスのインスタンスなど、トランザクション対応の .NET Framewo
    rk オブジェクトだけです。
    
    UseTransaction パラメーターは、多くのコマンドレットで省略可能ですが、このコ
    マンドレットを使用する場合は必須です。
    
    Use-Transaction コマンドレットは、Windows PowerShell のトランザクション機能
    をサポートする一連のコマンドレットのうちの 1 つです。詳細については、「about
    _Transactions」を参照してください。
    
パラメーター
    -TransactedScript <scriptblock>
        トランザクションで実行されるスクリプト ブロックを指定します。有効なスク
        リプト ブロックを中かっこ ( { } ) で囲んで入力します。このパラメーターは
        必須です。
        
        必須                         true
        位置                         1
        既定値                       なし
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -UseTransaction [<SwitchParameter>]
        コマンドを有効なトランザクションに含めます。このパラメーターは、トランザ
        クションの進行中のみ有効です。詳細については、「about_Transactions」を参
        照してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    なし
        パイプを使用してこのコマンドレットに入力を渡すことはできません。
    
出力
    PSObject
        Use-Transaction コマンドレットは、トランザクションの結果を返します。
    
メモ
        Use-Transaction パラメーターは、コマンドをアクティブなトランザクションに
        参加させるためのパラメーターです。Use-Transaction コマンドレットはトラン
        ザクションで常に使用されるので、Use-Transaction コマンドを有効にするには、
        このパラメーターは必須です。
    
    -------------------------- 例 1 --------------------------
    
    C:\PS>start-transaction
    
    C:\PS> $transactedString = New-Object Microsoft.PowerShell.Commands.Manageme
    nt.TransactedString
    
    C:\PS> $transactedString.Append("Hello")
    C:\PS> use-transaction -TransactedScript { $transactedString.Append(", World
    ") } -UseTransaction
    
    C:\PS> $transactedString.ToString()
    Hello
     
    C:\PS> use-transaction -transactedScript { $transactedString.ToString() } -U
    seTransaction
    Hello, World
    
    C:\PS> complete-transaction
    C:\PS> $transactedString.ToString()
    Hello, World
    
    説明
    -----------
    この例では、Use-Transaction コマンドレットを使用して、トランザクション対応の 
    .NET Framework オブジェクトにスクリプトを実行する方法を示します。この例では、
    オブジェクトは TransactedString オブジェクトです。
    
    最初のコマンドは、Start-Transaction コマンドレットを使用してトランザクション
    を開始します。
    
    2 番目のコマンドは、New-Object コマンドを使用して TransactedString オブジェ
    クトを作成します。オブジェクトは $TransactedString 変数に保存されます。
    
    3 番目と 4 番目のコマンドはどちらも、TransactedString オブジェクトの Append 
    メソッドを使用して、テキストを $TransactedString の値に追加します。一方のコ
    マンドはトランザクションの一部であり、もう一方はトランザクションの一部ではあ
    りません。
    
    3 番目のコマンドは、トランザクション文字列の Append メソッドを使用して、"Hel
    lo" を $TransactedString の値に追加します。このコマンドはトランザクションの
    一部ではないので、変更内容は直ちに反映されます。
    
    4 番目のコマンドは、Use-Transaction コマンドレットを使用してテキストをトラン
    ザクション内の文字列に追加します。Append メソッドを使用して、", World" を $T
    ransactedString の値に追加します。コマンドは中かっこ ({}) で囲んで、スクリプ
    ト ブロックにします。このコマンドでは UseTransaction パラメーターが必須です。
    
    5 番目と 6 番目のコマンドは、TransactedString オブジェクトの ToString メソッ
    ドを使用して、TransactedString の値を文字列として表示します。ここでも、一方
    のコマンドはトランザクションの一部であり、もう一方はトランザクションの一部で
    はありません。
    
    5 番目のコマンドは、ToString メソッドを使用して $TransactedString 変数の現在
    の値を表示します。このコマンドはトランザクションの一部ではないので、文字列の
    現在の状態のみを表示します。
    
    6 番目のコマンドは、Use-Transaction コマンドレットを使用してトランザクション
    内で同じコマンドを実行します。このコマンドはトランザクションの一部なので、ト
    ランザクション内の文字列の現在の値を表示します。これは、トランザクションの変
    更内容をプレビューするようなものです。
    
    7 番目のコマンドは、Complete-Transaction コマンドレットを使用してトランザク
    ションをコミットします。
    
    最後のコマンドは、ToString メソッドを使用して、結果として得られる変数の値を
    文字列として表示します。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>start-transaction
    
    C:\PS> $transactedString = New-Object Microsoft.PowerShell.Commands.Manageme
    nt.TransactedString
    
    C:\PS> $transactedString.Append("Hello")
    C:\PS> use-transaction -TransactedScript { $transactedString.Append(", World
    ") } -UseTransaction
    
    C:\PS> undo-transaction
    
    C:\PS> $transactedString.ToString()
    Hello
    
    説明
    -----------
    この例では、Use-Transaction コマンドを含むトランザクションをロールバックした
    ときの結果を示します。トランザクション内のすべてのコマンドと同様に、トランザ
    クションをロールバックすると、トランザクションされた変更内容は破棄され、デー
    タは変更されません。
    
    最初のコマンドは、Start-Transaction コマンドレットを使用してトランザクション
    を開始します。
    
    2 番目のコマンドは、New-Object コマンドを使用して TransactedString オブジェ
    クトを作成します。オブジェクトは $TransactedString 変数に保存されます。
    
    3 番目のコマンドは、トランザクションの一部ではありませんが、Append メソッド
    を使用して "Hello" を $TransactedString の値に追加します。
    
    4 番目のコマンドは、Use-Transaction コマンドレットを使用して、トランザクショ
    ン内で Append メソッドを使用する別のコマンドを実行します。Append メソッドを
    使用して、", World" を $TransactedString の値に追加します。
    
    5 番目のコマンドは、Undo-Transaction コマンドレットを使用してトランザクショ
    ンをロールバックします。その結果、トランザクション内で実行されたコマンドは、
    すべて元に戻されます。
    
    最後のコマンドは、ToString メソッドを使用して、結果として得られる $Transacte
    dString の値を文字列として表示します。トランザクションの外部で行われた変更だ
    けがオブジェクトに反映されたことが結果に示されます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=135271
    about_Transactions 
    Start-Transaction 
    Get-Transaction 
    Complete-Transaction 
    Undo-Transaction 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Use-Transaction
ご利用数: 1914040
感想・要望・問い合わせは こちら