Get-Transaction
Pobiera bieżącą (aktywną) transakcję.
Składnia
Get-Transaction []
Opis
Polecenie Get-Transaction
cmdlet pobiera obiekt reprezentujący bieżącą transakcję w sesji.
To polecenie cmdlet nigdy nie zwraca więcej niż jednego obiektu, ponieważ tylko jedna transakcja jest aktywna naraz. Jeśli uruchomisz co najmniej jedną niezależną transakcję (przy użyciu niezależnego parametru Start-Transaction), ostatnio uruchomiona transakcja jest aktywna i jest to transakcja, która Get-Transaction
zwraca.
Gdy wszystkie aktywne transakcje zostały wycofane lub zatwierdzone, to polecenie cmdlet pokazuje transakcję, która była ostatnio aktywna w sesji.
To polecenie cmdlet jest jednym z zestawów poleceń cmdlet, które obsługują funkcję transakcji w programie Windows PowerShell. Aby uzyskać więcej informacji, zobacz about_Transactions.
Przykłady
Przykład 1. Pobieranie bieżącej transakcji
Start-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
To polecenie używa Get-Transaction
polecenia cmdlet do pobrania bieżącej transakcji.
Przykład 2. Wyświetlanie właściwości i metod obiektu transakcji
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;}
To polecenie używa Get-Member
polecenia cmdlet do wyświetlania właściwości i metod obiektu transakcji.
Przykład 3: Wyświetlanie wartości właściwości wycofanej transakcji
Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Undo-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ----------
Error 0 RolledBack
To polecenie pokazuje wartości właściwości obiektu transakcji dla transakcji, która została wycofana.
Przykład 4. Pokazywanie wartości właściwości zatwierdzonej transakcji
Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Complete-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ---------
Error 1 Committed
To polecenie pokazuje wartości właściwości obiektu transakcji dla transakcji, która została zatwierdzona.
Przykład 5. Uruchamianie transakcji, gdy inna jest w toku
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
W tym przykładzie pokazano wpływ na obiekt transakcji uruchamiania transakcji, gdy inna transakcja jest w toku. Zazwyczaj dzieje się tak, gdy skrypt, który uruchamia transakcję, zawiera funkcję lub wywołuje skrypt zawierający inną pełną transakcję.
Jeśli drugie Start-Transaction
polecenie nie zawiera parametru Independent , Start-Transaction
nie tworzy nowej transakcji. Zamiast tego dodaje drugiego subskrybenta do oryginalnej transakcji.
Pierwsze Start-Transaction
polecenie uruchamia transakcję. Polecenie New-Item z parametrem UseTransaction jest częścią transakcji.
Start-Transaction
Drugie polecenie dodaje subskrybenta do transakcji. Następne New-Item
polecenie jest również częścią transakcji.
Pierwsze Get-Transaction
polecenie pokazuje transakcję z wieloma subskrybentami.
Zwróć uwagę, że liczba subskrybentów wynosi 2.
Pierwsze polecenie Complete-Transaction nie zatwierdza transakcji, ale zmniejsza liczbę subskrybentów do 1.
Drugie Complete-Transaction
polecenie zatwierdza transakcję.
Przykład 6. Uruchamianie niezależnej transakcji, gdy inna jest w toku
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
W tym przykładzie pokazano wpływ na obiekt transakcji uruchamiania niezależnej transakcji, podczas gdy inna transakcja jest w toku.
Pierwsze Start-Transaction
polecenie uruchamia transakcję. Polecenie New-Item
z parametrem UseTransaction jest częścią transakcji.
Start-Transaction
Drugie polecenie dodaje subskrybenta do transakcji. Następne New-Item
polecenie jest również częścią transakcji.
Pierwsze Get-Transaction
polecenie pokazuje transakcję z wieloma subskrybentami. Należy pamiętać, że liczba subskrybentów wynosi 2.
Polecenie Complete-Transaction
zmniejsza liczbę subskrybentów do 1, ale nie zatwierdza transakcji.
Drugie Complete-Transaction
polecenie zatwierdza transakcję.
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca obiekt reprezentujący bieżącą transakcję.