Use-Transaction
Dodaje blok skryptu do aktywnej transakcji.
Składnia
Use-Transaction
[-TransactedScript] <ScriptBlock>
[-UseTransaction]
[<CommonParameters>]
Opis
Polecenie Use-Transaction
cmdlet dodaje blok skryptu do aktywnej transakcji. Dzięki temu można wykonywać skrypty transakcyjne przy użyciu obiektów programu Microsoft .NET Framework z obsługą transakcji. Blok skryptu może zawierać tylko obiekty .NET Framework z obsługą transakcji, takie jak wystąpienia klasy Microsoft.PowerShell.Commands.Management.TransactedString .
Parametr UseTransaction , który jest opcjonalny dla większości poleceń cmdlet, jest wymagany podczas korzystania z tego polecenia cmdlet.
Use-Transaction
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: Skrypt przy użyciu obiektu z obsługą transakcji
Start-Transaction
$transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
$transactedString.Append("Hello")
Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
$transactedString.ToString()
Hello
Use-Transaction -TransactedScript { $transactedString.ToString() } -UseTransaction
Hello, World
Complete-Transaction
$transactedString.ToString()
Hello, World
W tym przykładzie pokazano, jak używać skryptu Use-Transaction
względem obiektu .NET Framework z obsługą transakcji. W tym przypadku obiekt jest obiektem TransactedString .
Pierwsze polecenie używa Start-Transaction
polecenia cmdlet do uruchomienia transakcji.
Drugie polecenie używa polecenia New-Object do utworzenia obiektu TransactedString . Przechowuje obiekt w zmiennej $TransactedString
.
Trzecie i czwarte polecenia używają metody Append obiektu TransactedString, aby dodać tekst do wartości $TransactedString
. Jedno polecenie jest częścią transakcji. Inne polecenie nie jest.
Trzecie polecenie używa metody Append ciągu transakcyjnego, aby dodać element Hello do wartości $TransactedString
. Ponieważ polecenie nie jest częścią transakcji, zmiana jest stosowana natychmiast.
Czwarte polecenie używa Use-Transaction
polecenia , aby dodać tekst do ciągu w transakcji. Polecenie używa metody Append , aby dodać wartość ", World" do wartości $TransactedString
. Polecenie jest ujęte w nawiasy klamrowe ({}
), aby utworzyć blok skryptu. Parametr UseTransaction jest wymagany w tym poleceniu.
Piąte i szóste polecenia używają metody ToString obiektu TransactedString, aby wyświetlić wartość TransactedString jako ciąg. Ponownie jedno polecenie jest częścią transakcji. Druga transakcja nie jest.
Piąte polecenie używa metody ToString , aby wyświetlić bieżącą wartość zmiennej $TransactedString. Ponieważ nie jest częścią transakcji, wyświetla tylko bieżący stan ciągu.
Szóste polecenie używa Use-Transaction
polecenia do uruchomienia tego samego polecenia w transakcji. Ponieważ polecenie jest częścią transakcji, wyświetla bieżącą wartość ciągu w transakcji, podobnie jak podgląd zmian transakcji.
Siódme polecenie używa Complete-Transaction
polecenia cmdlet do zatwierdzenia transakcji.
Ostatnie polecenie używa metody ToString , aby wyświetlić wynikową wartość zmiennej jako ciąg.
Przykład 2. Wycofywanie transakcji
Start-Transaction
$transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
$transactedString.Append("Hello")
Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
Undo-Transaction
$transactedString.ToString()
Hello
W tym przykładzie pokazano efekt wycofywania transakcji, która zawiera Use-Transaction
polecenia. Podobnie jak wszystkie polecenia w transakcji, po wycofaniu transakcji zmiany transakcji zostaną odrzucone, a dane pozostaną niezmienione.
Pierwsze polecenie używa Start-Transaction
polecenia do uruchomienia transakcji.
Drugie polecenie używa New-Object
polecenia do utworzenia obiektu TransactedString . Przechowuje obiekt w zmiennej $TransactedString
.
Trzecie polecenie, które nie jest częścią transakcji, używa metody Append , aby dodać wartość "Hello" do wartości $TransactedString
.
Czwarte polecenie używa Use-Transaction
polecenia do uruchomienia innego polecenia, które używa metody Append w transakcji. Polecenie używa metody Append , aby dodać wartość ", World" do wartości $TransactedString
.
Piąte polecenie używa polecenia cmdlet Cofnij transakcję, aby wycofać transakcję. W związku z tym wszystkie polecenia wykonywane w transakcji są odwracane.
Ostatnie polecenie używa metody ToString , aby wyświetlić wynikową wartość $TransactedString
jako ciąg. Wyniki pokazują, że do obiektu zastosowano tylko zmiany wprowadzone poza transakcją.
Parametry
-TransactedScript
Określa blok skryptu uruchamiany w transakcji. Wprowadź dowolny prawidłowy blok skryptu ujęty w nawiasy klamrowe ({}
). Ten parametr jest wymagany.
Typ: | ScriptBlock |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-UseTransaction
Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_transactions.
Typ: | SwitchParameter |
Aliasy: | usetx |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można przekazać danych wejściowych potoku do tego polecenia cmdlet.
Dane wyjściowe
PSObject
To polecenie cmdlet zwraca wynik transakcji.
Uwagi
- Parametr UseTransaction zawiera polecenie w aktywnej transakcji.
Use-Transaction
Ponieważ polecenie cmdlet jest zawsze używane w transakcjach, ten parametr jest wymagany do skutecznegoUse-Transaction
polecenia.