获取当前(活动)事务。
语法
Get-Transaction [<CommonParameters>]
说明
Get-Transaction cmdlet 获取表示会话中的当前事务的对象。
此 cmdlet 从不返回多个对象,原因是同一时间只有一个事务处于活动状态。如果启动一个或多个独立事务(使用 Start-Transaction 的 Independent 参数),则最近启动的事务将处于活动状态,并且该事务是 Get-Transaction 返回的事务。
回滚或提交所有活动事务后,Get-Transaction 将显示会话中最近活动的事务。
Get-Transaction cmdlet 是 Windows PowerShell 中支持事务功能的一组 cmdlet 之一。有关详细信息,请参阅 about_Transactions。
参数
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
None 不能通过管道将对象传递给此 cmdlet。 |
输出 |
System.Management.Automation.PSTransaction Get-Transaction 返回一个表示当前事务的对象。 |
示例 1
C:\PS>start-transaction C:\PS> get-transaction RollbackPreference SubscriberCount Status ------------------ --------------- ------ Error 1 Active 说明 ----------- 此命令使用 Get-Transaction cmdlet 来获取当前事务。
示例 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 cmdlet 来显示事务对象的属性和方法。
示例 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 说明 ----------- 此示例演示当一个事务正在运行时,启动另一个事务对事务对象的影响。通常,当运行事务的脚本包括函数或调用包含其他完整事务的脚本时,会发生这种情况。 除非第二个 Start-Transaction 命令包括 Independent 参数,否则 Start-Transaction 不会创建新事务。它会将第二个订阅者添加到原始事务中。 第一个 Start-Transaction 命令启动事务。带有 UseTransaction 参数的 New-Item 命令是该事务的一部分。 第二个 Start-Transaction 命令向该事务中添加订阅者。下一个 New-Item 命令也是该事务的一部分。 第一个 Get-Transaction 命令显示多订阅者事务。请注意,订阅者计数为 2。 第一个 Complete-Transaction 命令不会提交事务,但它会将订阅者计数减少到 1。 第二个 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 命令是该事务的一部分。 第二个 Start-Transaction 命令向该事务中添加订阅者。下一个 New-Item 命令也是该事务的一部分。 第一个 Get-Transaction 命令显示多订阅者事务。请注意,订阅者计数为 2。 Complete-Transaction 命令将订阅者计数减少到 1,但不提交该事务。 第二个 Complete-Transaction 命令提交该事务。
另请参阅