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