Get-Transaction

現在の (有効な) トランザクションを取得します。

構文

Get-Transaction []

説明

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

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

アクティブなすべてのトランザクションがロールバックまたはコミットされると、このコマンドレットはセッションで最後にアクティブだったトランザクションを表示します。

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

例 1: 現在のトランザクションを取得する

Start-Transaction
Get-Transaction

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

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

例 2: トランザクション オブジェクトのプロパティとメソッドを表示する

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: ロールバックトランザクションのプロパティ値を表示する

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Undo-Transaction
Get-Transaction

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

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

例 4: コミットされたトランザクションのプロパティ値を表示する

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Complete-Transaction
Get-Transaction

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

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

例 5: 別のトランザクションの進行中にトランザクションを開始する

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Start-Transaction
New-Item MyCompany2 -UseTransaction
Get-Transaction

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

Complete-Transaction
Get-Transaction

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

Complete-Transaction
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: 別のトランザクションの進行中に独立したトランザクションを開始する

Set-Location hklm:\software
Start-Transaction
Get-Transaction

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

Start-Transaction -Independent
Get-Transaction

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

Complete-Transaction
Get-Transaction
Complete-Transaction
Get-Transaction

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

最初 Start-Transaction のコマンドは、トランザクションを開始します。 New-Item UseTransaction パラメーターを持つコマンドは、トランザクションの一部です。

2 番目 Start-Transaction のコマンドは、サブスクライバーをトランザクションに追加します。 次 New-Item のコマンドもトランザクションの一部です。

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

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

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

入力

None

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

出力

PSTransaction

このコマンドレットは、現在のトランザクションを表すオブジェクトを返します。