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
このコマンドレットにパイプを使用してオブジェクトを渡すことはできません。
出力
このコマンドレットは、現在のトランザクションを表すオブジェクトを返します。
関連リンク
PowerShell
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示