Get-Transaction

現在の (アクティブ) トランザクションを取得します。

構文

Get-Transaction [<CommonParameters>]

説明

Get-Transaction コマンドレットは、セッションで現在のトランザクションを表すオブジェクトを取得します。

アクティブなトランザクションは一度に 1 つしかないので、このコマンドレットは複数のオブジェクトを返すことはありません。1 つまたは複数の個別のトランザクションを開始した場合 (Start-Transaction の Independent パラメーターを使用)、最近開始したトランザクションがアクティブです。Get-Transaction で返されるのはこのトランザクションです。

アクティブなすべてのトランザクションがロールバックまたはコミットされると、Get-Transaction はセッションで最近アクティブであったトランザクションを表示します。

Get-Transaction コマンドレットは、Windows PowerShell のトランザクション機能をサポートする一連のコマンドレットの 1 つです。詳細については、「about_Transactions」を参照してください。

パラメーター

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

なし

パイプを使用してこのコマンドレットにオブジェクトを渡すことはできません。

出力

System.Management.Automation.PSTransaction

Get-Transaction は、現在のトランザクションを表すオブジェクトを返します。

例 1

C:\PS>start-transaction

C:\PS> get-transaction 

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

説明
-----------
このコマンドは、Get-Transaction コマンドレットを使用して現在のトランザクションを取得します。





例 2

C:\PS>get-transaction | get-member

Name               MemberType Definition
----               ---------- ----------
Dispose            Method     System.Void Dispose(), System.Void Dispose(Boolean disposing)
Equals             Method     System.Boolean Equals(Object obj)
GetHashCode        Method     System.Int32 GetHashCode()
GetType            Method     System.Type GetType()
ToString           Method     System.String ToString()
IsCommitted        Property   System.Boolean IsCommitted {get;}
IsRolledBack       Property   System.Boolean IsRolledBack {get;}
RollbackPreference Property   System.Management.Automation.RollbackSeverity RollbackPreference {get;}
SubscriberCount    Property   System.Int32 SubscriberCount {get;set;}

説明
-----------
このコマンドは、Get-Member コマンドレットを使用してトランザクション オブジェクトのプロパティとメソッドを表示します。





例 3

C:\PS>cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Undo-Transaction
HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ----------
Error                0                 RolledBack

説明
-----------
このコマンドは、ロールバックしたトランザクションのトランザクション オブジェクトのプロパティ値を表示します。





例 4

C:\PS>cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ---------
Error                1                 Committed

説明
-----------
このコマンドは、コミットしたトランザクションのトランザクション オブジェクトのプロパティ値を表示します。





例 5

C:\PS>cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction

HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany2 -UseTransaction

HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                2                 Active

HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active


HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ---------
Error                1                 Committed

説明
-----------
この例は、別のトランザクションが進行しているときにトランザクションを開始したときのトランザクション オブジェクトにおける影響を示します。通常、これはトランザクションを実行するスクリプトが関数を含む場合、または別の完全なトランザクションを含むスクリプトを呼び出す場合に発生します。

2 番目の Start-Transaction コマンドに Independent パラメーターが含まれない限り、Start-Transaction は新しいトランザクションを作成しません。代わりに、元のトランザクションに第 2 のサブスクライバーが追加されます。

最初の Start-Transaction コマンドを実行すると、トランザクションが開始されます。UseTransaction パラメーターを使用する New-Item コマンドはトランザクションの一部です。

2 番目の Start-Transaction コマンドを実行すると、トランザクションにサブスクライバーが追加されます。その次の New-Item コマンドもトランザクションの一部です。

最初の Get-Transaction コマンドは、マルチサブスクライバー トランザクションを示します。サブスクライバーの数が 2 であることに注意してください。

最初の Complete-Transaction コマンドはトランザクションをコミットしませんが、サブスクライバーの数を 1 に減らします。

2 番目の Complete-Transaction コマンドはトランザクションをコミットします。





例 6

C:\PS>HKLM:\SOFTWARE> Start-Transaction

HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   IsRolledBack   IsCommitted
------------------   ---------------   ------------   -----------
Error                1                 False          False

HKLM:\SOFTWARE> Start-Transaction -Independent
HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   IsRolledBack   IsCommitted
------------------   ---------------   ------------   -----------
Error                1                 False          False

HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

説明
-----------
この例は、別のトランザクションが進行しているときに単独のトランザクションを開始したときのトランザクション オブジェクトにおける影響を示します。

最初の Start-Transaction コマンドを実行すると、トランザクションが開始されます。UseTransaction パラメーターを使用する New-Item コマンドはトランザクションの一部です。

2 番目の Start-Transaction コマンドを実行すると、トランザクションにサブスクライバーが追加されます。その次の New-Item コマンドもトランザクションの一部です。

最初の Get-Transaction コマンドは、マルチサブスクライバー トランザクションを示します。サブスクライバーの数が 2 であることに注意してください。

Complete-Transaction コマンドはサブスクライバーの数を 1 に減らしますが、トランザクションはコミットしません。

2 番目の Complete-Transaction コマンドはトランザクションをコミットします。





関連項目

概念

about_Transactions
about_Providers
Start-Transaction
Complete-Transaction
Undo-Transaction
Use-Transaction