Udostępnij za pośrednictwem


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 skutecznego Use-Transaction polecenia.