Udostępnij za pośrednictwem


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

PSTransaction

To polecenie cmdlet zwraca obiekt reprezentujący bieżącą transakcję.