Get-Transaction
取得目前 (使用中) 交易。
語法
Get-Transaction []
Description
Get-Transaction
Cmdlet 會取得 物件,代表會話中的目前交易。
此 Cmdlet 絕不會傳回一個以上的物件,因為一次只有一個交易作用中。 如果您啟動一或多個獨立交易(使用 Start-Transaction 的 Independent 參數),則最近啟動的交易為使用中,也就是傳回的交易 Get-Transaction
。
當所有作用中交易都已回復或認可時,此 Cmdlet 會顯示會話中最近作用中的交易。
此 Cmdlet 是一組 Cmdlet,可支援 Windows PowerShell 中的交易功能。 如需詳細資訊,請參閱 about_Transactions。
範例
範例 1:取得目前的交易
Start-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
此命令會 Get-Transaction
使用 Cmdlet 來取得目前的交易。
範例 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
使用 Cmdlet 來顯示交易對象的屬性和方法。
範例 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
此範例顯示當另一個交易正在進行時,啟動交易之交易物件的效果。 一般而言,當執行交易的腳本包含函式或呼叫包含另一個完整交易的腳本時,就會發生這種情況。
除非第二個 Start-Transaction
命令包含 Independent 參數, Start-Transaction
否則不會建立新的交易。 相反地,它會將第二個訂閱者新增至原始交易。
第一個 Start-Transaction
命令會啟動交易。 具有UseTransaction 參數的New-Item命令是交易的一部分。
第二 Start-Transaction
個命令會將訂閱者新增至交易。 下一個 New-Item
命令也是交易的一部分。
第一個 Get-Transaction
命令會顯示多訂閱者交易。
請注意,訂閱者計數為 2。
第一個 Complete-Transaction 命令不會認可交易,但它會將訂閱者計數縮減為 1。
第二個 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 參數的命令是交易的一部分。
第二 Start-Transaction
個命令會將訂閱者新增至交易。 下一個 New-Item
命令也是交易的一部分。
第一個 Get-Transaction
命令會顯示多訂閱者交易。 請注意,訂閱者計數為 2。
命令 Complete-Transaction
會將訂閱者計數縮減為 1,但不會認可交易。
第二個 Complete-Transaction
命令會認可交易。
輸入
None
您無法使用管線將物件傳送至此 Cmdlet。
輸出
這個 Cmdlet 會傳回代表目前交易的物件。