Führt einen Commit für die aktive Transaktion aus. (Complete-Transaction)

   

NAME
Complete-Transaction

# ÜBERSICHT
Führt einen Commit für die aktive Transaktion aus.

# SYNTAX
Complete-Transaction [-Confirm] [-WhatIf] [<CommonParameters>]

# BESCHREIBUNG
Das Cmdlet "Complete-Transaction" führt einen Commit für eine aktive Transaktion aus. Wenn Sie für eine Transaktion einen Commit ausführen, werden die Befehle in der Transaktion abgeschlossen, und die von den Befehlen betroffenen Daten werden geändert.

Wenn die Transaktion mehrere Abonnenten umfasst, müssen Sie zum Ausführen des Commits für die Transaktion den Befehl "Complete-Transaction" für den Befehl "Start-Transaction" eingeben.

Das Cmdlet "Complete-Transaction" gehört zu einem Satz von Cmdlets, die das Transaktionsfeature in Windows PowerShell unterstützen. Weitere Informationen finden Sie unter "about_Transactions".

# PARAMETER
-Confirm [<SwitchParameter>]
Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.

Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

-WhatIf [<SwitchParameter>]
Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.

Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

<CommonParameters>
Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug",
"ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable",
"OutBuffer" und "OutVariable". Weitere Informationen
erhalten Sie mit dem Befehl "get-help about_commonparameters".

# EINGABEN
Keiner
Objekte können nicht über die Pipeline an Complete-Transaction übergeben werden.

# AUSGABEN
Keiner
Dieses Cmdlet gibt keine Objekte zurück.

# HINWEISE

Sie können keine Transaktion zurücksetzen, für die ein Commit ausgeführt wurde, oder einen Commit für eine Transaktion ausführen, die zurückgesetzt wurde.

Sie können keine andere Transaktion als die aktive Transaktion zurücksetzen. Zum Zurücksetzen einer anderen Transaktion müssen Sie zuerst einen Commit für die aktive Transaktion ausführen oder diese zurücksetzen.

Wenn für einen Teil einer Transaktion kein Commit ausgeführt werden kann, z. B. wenn ein Befehl in der Transaktion zu einem Fehler führt, wird standardmäßig die gesamte Transaktion zurückgesetzt.

# BEISPIEL 1

C:\PS>cd hkcu:\software

PS HKCU:\software> start-transaction

PS HKCU:\software> new-item MyCompany -UseTransaction
PS HKCU:\software> dir m*

Hive: HKEY_CURRENT_USER\software

SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}

PS HKCU:\software> complete-transaction
PS HKCU:\software> dir m*

Hive: HKEY_CURRENT_USER\Software

SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}
0 0 MyCompany {}

Beschreibung
-----------
In diesem Beispiel werden die Auswirkungen veranschaulicht, wenn mit dem Cmdlet "Complete-Transaction" ein Commit für eine Transaktion ausgeführt wird.

Der Befehl "Start-Transaction" startet die Transaktion. Der Befehl "New-Item" schließt den Befehl mit dem UseTransaction-Parameter in die Transaktion ein.

Der erste dir-Befehl (Get-ChildItem) zeigt an, dass das neue Element noch nicht zur Registrierung hinzugefügt wurde.

Der Befehl "Complete-Transaction" führt einen Commit für die Transaktion aus. Hierdurch wird die Registrierungsänderung wirksam. Der zweite dir-Befehl zeigt daher an, dass die Registrierung geändert wurde.

# BEISPIEL 2

C:\PS>cd hkcu:\software

PS HKCU:\software> start-transaction
PS HKCU:\software> new-item MyCompany -UseTransaction

Hive: HKEY_CURRENT_USER\Software

SKC VC Name Property
--- -- ---- --------
0 0 MyCompany {}

PS HKCU:\software> start-transaction
PS HKCU:\Software> Get-Transaction

RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 2 Active

PS HKCU:\software> new-itemproperty -path MyCompany -name MyKey -value -UseTransaction

MyKey
-----
123

PS HKCU:\software> complete-transaction
PS HKCU:\software> get-transaction

RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active

PS HKCU:\software> dir m*

Hive: HKEY_CURRENT_USER\Software

SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}

PS HKCU:\software> complete-transaction
PS HKCU:\software> dir m*

Hive: HKEY_CURRENT_USER\Software

SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}
0 1 MyCompany {MyKey}

Beschreibung
-----------
In diesem Beispiel wird veranschaulicht, wie mit Complete-Transaction ein Commit für eine Transaktion mit mehreren Abonnenten ausgeführt wird.

Wenn ein Commit für eine Transaktion mit mehreren Abonnenten ausgeführt werden soll, müssen Sie den Befehl "Complete-Transaction" für jeden Start-Transaction-Befehl eingeben. Die Daten werden nur geändert, wenn der abschließende Befehl "Complete-Transaction" gesendet wird.

Für Demonstrationszwecke werden in diesem Beispiel eine Reihe von Befehlen in der Befehlszeile eingegeben. In der Praxis werden Transaktionen häufig in Skripts ausgeführt, wobei die sekundäre Transaktion von einer Funktion oder einem Hilfsskript ausgeführt wird, das vom Hauptskript aufgerufen wird.

In diesem Beispiel startet der Befehl "Start-Transaction" die Transaktion. Der Befehl "New-Item" fügt den Schlüssel "MyCompany" mit dem UseTransaction-Parameter dem Schlüssel "Software" hinzu. Obwohl der Befehl "New-Item" ein Schlüsselobjekt zurückgibt, werden die Daten in der Registrierung noch nicht geändert.

Der zweite Befehl "Start-Transaction" fügt der vorhandenen Transaktion einen zweiten Abonnenten hinzu. Der Befehl "Get-Transaction" bestätigt, dass die Anzahl der Abonnenten 2 beträgt. Der Befehl "New-ItemProperty" mit dem UseTransaction-Parameter fügt dem neuen Schlüssel "MyCompany" einen Registrierungseintrag hinzu. Auch hier gibt der Befehl einen Wert zurück, die Registrierung wird jedoch nicht geändert.

Der erste Befehl "Complete-Transaction" reduziert die Abonnentenanzahl um 1. Dies wird von dem Befehl "Get-Transaction" bestätigt. Es werden jedoch keine Daten geändert, wie von einem "dir m*"-Befehl (Get-ChildItem) gezeigt wird.

Der zweite Befehl "Complete-Transaction" führt einen Commit für die gesamte Transaktion aus und ändert die Daten in der Registrierung. Dies wird durch einen zweiten "dir m*"-Befehl bestätigt, der die Änderungen anzeigt.

# BEISPIEL 3

C:\PS>cd hkcu:\software

PS HKCU:\software> start-transaction

PS HKCU:\software> new-item MyCompany -UseTransaction

PS HKCU:\software> dir m*

Hive: HKEY_CURRENT_USER\Software

SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}

PS HKCU:\software> dir m* -UseTransaction

Hive: HKEY_CURRENT_USER\Software

SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}
0 0 MyCompany {}

PS HKCU:\software> complete-transaction

Beschreibung
-----------
In diesem Beispiel werden die Vorteile von Get-*-Befehlen und anderen Befehlen in einer Transaktion veranschaulicht, die keine Daten ändern. Wenn ein "get-*"-Befehl in einer Transaktion verwendet wird, ruft er die Objekte ab, die Teil der Transaktion sind. So können Sie die Änderungen in der Transaktion in der Vorschau anzuzeigen, bevor ein Commit für die Änderungen ausgeführt wird.

In diesem Beispiel wird eine Transaktion gestartet. Der Befehl "New-Item" mit dem UseTransaction-Parameter fügt der Registrierung als Teil der Transaktion einen neuen Schlüssel hinzu.

Da der neue Registrierungsschlüssel der Registrierung erst hinzugefügt wird, wenn der Befehl "Complete-Transaction" ausgeführt wird, zeigt ein einfacher dir-Befehl (Get-ChildItem) die Registrierung ohne den neuen Schlüssel an.

Wenn Sie dem dir-Befehl jedoch den UseTransaction-Parameter hinzufügen, wird der Befehl Teil der Transaktion und ruft die Elemente in der Transaktion ab, auch wenn sie den Daten noch nicht hinzugefügt wurden.

VERWANDTE LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=135200 (möglicherweise auf Englisch)
about_Transactions
Start-Transaction
Get-Transaction
Undo-Transaction
Use-Transaction

C:\Windows>powershell get-help Undo-Transaction -full

ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.

OS: Windows 10, 8.1, 8, 7, Vista / Windows Server 2016, 2012, 2008
»»»» ColorConsole





... Home  
... Impressum
... ColorConsole

... CMD
... Netsh-XP
... Netsh-7
... Netsh-Vista
... Powershell










Windows 10 download: Starter, Home (Basic Premium), Professional und Win 10 Ultimate!

... facebook.de
HTTP: ... PS_Windows/de/Complete-Transaction.htm
0.109

Windows 10 Explorer hat keine Statusleiste mit Datei-Information, warum?

 /

Installations DVD aus der ISO-Datei erstellen für Windows-8 / 10 oder 8.1!

 /

Alle Druckaufträge in Windows 10 abbrechen über Druckdienst, aber wie?

 /

Bei Windows 10 verhindern, dass der Laptop in den Ruhezustand geht beim Schließen? 

 /