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

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

名前
    Undo-Transaction
    
概要
    有効なトランザクションをロールバックします。
    
構文
    Undo-Transaction [-Confirm] [-WhatIf] [<CommonParameters>]
        
説明
    Undo-Transaction コマンドレットは、有効なトランザクションをロールバックしま
    す。トランザクションをロールバックすると、そのトランザクションでコマンドによ
    って加えられた変更内容は破棄され、元のデータが復元されます。
    
    トランザクションに複数のサブスクライバーが含まれている場合、Undo-Transaction 
    コマンドを実行すると、トランザクション全体がすべてのサブスクライバーに対して
    ロールバックされます。
    
    既定では、トランザクション内のいずれかのコマンドでエラーが発生すると、トラン
    ザクションは自動的にロールバックされます。ただし、別のロールバック設定を使用
    してトランザクションを開始できます。また、このコマンドレットを使用して、有効
    なトランザクションをいつでもロールバックすることができます。
    
    Undo-Transaction コマンドレットは、Windows PowerShell のトランザクション機能
    をサポートする一連のコマンドレットのうちの 1 つです。詳細については、「about
    _Transactions」を参照してください。
    
パラメーター
    -Confirm [<SwitchParameter>]
        コマンドを実行する前に確認メッセージを表示します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -WhatIf [<SwitchParameter>]
        実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    なし
        パイプを使用してこのコマンドレットに入力を渡すことはできません。
    
出力
    なし
        このコマンドレットによる戻り値はありません。
    
メモ
        コミット済みのトランザクションはロールバックできません。
        
        有効でないトランザクションはロールバックできません。独立した別のトランザ
        クションをロールバックするには、有効なトランザクションを先にコミットする
        かロールバックする必要があります。
        
        トランザクションをロールバックすると、そのトランザクションは終了します。
        トランザクションを再度使用するには、トランザクションを新たに開始する必要
        があります。
    
    -------------------------- 例 1 --------------------------
    
    C:\PS>undo-transaction
    
    説明
    -----------
    このコマンドは、現在の (有効な) トランザクションをロールバックします。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>cd hkcu:\software
    
    PS HKCU:\Software> start-transaction
    PS HKCU:\Software> new-item MyCompany -usetransaction
    PS HKCU:\Software> undo-transaction
    
    説明
    -----------
    このコマンドは、トランザクションを開始してからロールバックします。その結果、
    レジストリは変更されません。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>cd hkcu:\software
    
    PS HKCU:\Software> start-transaction
    PS HKCU:\Software> new-item MyCompany -usetransaction
    PS HKCU:\Software> get-transaction
    
    RollbackPreference   SubscriberCount   Status
    ------------------   ---------------   -----
    Error                1                 Active
    
    PS HKCU:\Software> start-transaction
    PS HKCU:\Software> get-transaction
    
    RollbackPreference   SubscriberCount   Status
    ------------------   ---------------   -----
    Error                2                 Active
    
    PS HKCU:\Software> undo-transaction
    PS HKCU:\Software> get-transaction
    
    RollbackPreference   SubscriberCount   Status
    ------------------   ---------------   -----
    Error                0                 RolledBack
    
    説明
    -----------
    この例では、いずれかのサブスクライバーがトランザクションをロールバックすると、
    トランザクション全体がすべてのサブスクライバーに対してロールバックされること
    を示します。
    
    最初のコマンドは、場所を HKCU:\Software レジストリ キーに変更します。
    
    2 番目のコマンドは、トランザクションを開始します。
    
    3 番目のコマンドは、New-Item コマンドレットを使用して新しいレジストリ キーを
    作成します。UseTransaction パラメーターを使用して、変更内容をトランザクショ
    ンに含めます。
    
    4 番目のコマンドは、Get-Transaction コマンドレットを使用して有効なトランザク
    ションを取得します。ステータスが Active であり、サブスクライバーの数が 1 で
    あることに注意してください。
    
    5 番目のコマンドは、Start-Transaction コマンドを再度使用します。通常は、
    メインのトランザクションが使用するスクリプトに完了した独自のトランザクション
    が含まれている場合、別のトランザクションの進行中にトランザクションが開始され
    ます (この例は対話式に実行されるので、いくつかの段階に分けて確認できます)。
    
    別のトランザクションの進行中に Start-Transaction コマンドを入力すると、既存
    のトランザクションが新しい "サブスクライバー" として追加されて、サブスクライ
    バーの数がインクリメントされます。
    
    6 番目のコマンドは、Get-Transaction コマンドレットを使用して有効なトランザク
    ションを取得します。サブスクライバーの数が 2 になったことに注意してください。
      
    7 番目のコマンドは、Undo-Transaction コマンドレットを使用してトランザクショ
    ンをロールバックします。このコマンドはオブジェクトを返しません。
    
    最後のコマンドは Get-Transaction です。このコマンドは有効な (またはこの場合
    は、最後に有効だったトランザクション) トランザクションを取得します。トランザ
    クションがロールバックされたことと、サブスクライバーの数が 0 になったことが
    結果に示されます。つまり、トランザクションがすべてのサブスクライバーに対して
    ロールバックされました。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=135268
    about_Transactions 
    about_Providers 
    Start-Transaction 
    Get-Transaction 
    Complete-Transaction 
    Use-Transaction 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Undo-Transaction
ご利用数: 1918563
感想・要望・問い合わせは こちら