Undo-Transaction
Cofa aktywną transakcję.
Składnia
Default (domyślnie)
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie cmdlet Undo-Transaction przywraca aktywną transakcję. Po wycofaniu transakcji zmiany wprowadzone przez polecenia w transakcji zostaną odrzucone, a dane zostaną przywrócone do oryginalnego formularza.
Jeśli transakcja obejmuje wielu subskrybentów, Cofnij transakcję polecenie wycofa całą transakcję dla wszystkich subskrybentów.
Domyślnie transakcje są automatycznie wycofywane, jeśli jakiekolwiek polecenie w transakcji generuje błąd. Jednak transakcje można uruchomić przy użyciu innej preferencji wycofywania i można użyć tego polecenia cmdlet, aby wycofać aktywną transakcję w dowolnym momencie.
Polecenie cmdlet Undo-Transaction jest jednym z zestawów poleceń cmdlet obsługujących funkcję transakcji w programie Windows PowerShell. Aby uzyskać więcej informacji, zobacz about_Transactions.
Przykłady
Przykład 1. Wycofywanie bieżącej transakcji
PS C:\> Undo-Transaction
To polecenie powoduje wycofanie bieżącej, aktywnej transakcji.
Przykład 2. Uruchamianie i wycofywanie transakcji
PS C:\> cd hkcu:\software
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> New-Item -Path "ContosoCompany" -UseTransaction
PS HKCU:\Software> Undo-Transaction
W tym przykładzie zostanie uruchomiona transakcja, a następnie wycofana. W związku z tym w rejestrze nie są wprowadzane żadne zmiany.
Przykład 3. Wycofywanie transakcji dla wszystkich subskrybentów
PS C:\> cd hkcu:\software
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> New-Item -Path "ContosoCompany" -UseTransaction
PS HKCU:\Software> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 1 Active
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 2 Active
PS HKCU:\Software> Undo-Transaction
PS HKCU:\Software> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 0 RolledBack
W tym przykładzie pokazano, że gdy każdy subskrybent wycofa transakcję, cała transakcja zostanie wycofana dla wszystkich subskrybentów.
Pierwsze polecenie zmienia lokalizację na klucz rejestru HKCU:\Software.
Drugie polecenie uruchamia transakcję.
Trzecie polecenie używa polecenia cmdlet New-Item do utworzenia nowego klucza rejestru. Polecenie używa parametru UseTransaction, aby uwzględnić zmianę w transakcji.
Czwarte polecenie używa polecenia cmdlet Get-Transaction w celu pobrania aktywnej transakcji. Zwróć uwagę, że stan to Aktywna, a liczba subskrybentów to 1.
Piąte polecenie ponownie używa polecenia Start-Transaction. Zazwyczaj rozpoczynanie transakcji, gdy inna transakcja jest w toku, gdy skrypt używany przez główną transakcję obejmuje własną pełną transakcję. Ten przykład jest wykonywany interaktywnie, aby można było je sprawdzić na etapach. Po uruchomieniu polecenia start-transaction, podczas gdy inna transakcja jest w toku, polecenia dołączają istniejącą transakcję jako nowego subskrybenta i liczba subskrybentów jest zwiększana.
Szóste polecenie używa polecenia cmdlet Get-Transaction, aby uzyskać aktywną transakcję. Zwróć uwagę, że liczba subskrybentów wynosi teraz 2.
Siódme polecenie używa Cofnij transakcję, aby wycofać transakcję. To polecenie nie zwraca żadnych obiektów.
Ostatnim poleceniem jest get-transaction polecenie, które pobiera aktywne, lub w tym przypadku ostatnio aktywne transakcje. Wyniki pokazują, że transakcja została wycofana, a liczba subskrybentów wynosi 0, co pokazuje, że transakcja została wycofana dla wszystkich subskrybentów.
Parametry
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | por |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Wi |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
None
Nie można przekazać danych wejściowych potoku do tego polecenia cmdlet.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
Nie można wycofać transakcji, która została zatwierdzona.
Nie można wycofać żadnej transakcji innej niż aktywna transakcja. Aby wycofać inną, niezależną transakcję, musisz najpierw zatwierdzić lub wycofać aktywną transakcję.
Wycofywanie transakcji kończy transakcję. Aby ponownie użyć transakcji, musisz uruchomić nową transakcję.