ARGOMENTO
about_Transactions
DESCRIZIONE BREVE
Descrive come gestire le operazioni in transazione in Windows
PowerShell.
DESCRIZIONE DETTAGLIATA
Le transazioni sono supportate in Windows PowerShell a partire da
Windows PowerShell 2.0. Questa funzionalità consente di avviare una
transazione, indicare quali comandi fanno parte della transazione ed
eseguire il commit o il rollback di una transazione.
INFORMAZIONI SULLE TRANSAZIONI
In Windows PowerShell una transazione è un set di uno o più
comandi gestiti come un'unità logica. È possibile completare
una transazione (eseguirne il commit), modificando in tal modo
i dati interessati dalla transazione. In alternativa, è
possibile annullare una transazione (eseguirne il rollback) in
modo da non modificare i dati interessati.
Poiché i comandi in una transazione vengono gestiti come
un'unità, viene eseguito il commit o il rollback di tutti i
comandi.
Le transazioni sono ampiamente utilizzate nell'elaborazione dei
dati, in particolare nelle operazioni di database e nelle
transazioni finanziarie. Le transazioni vengono utilizzate più
spesso quando lo scenario peggiore per un set di comandi non è
l'esito negativo di tutti i comandi, ma piuttosto l'esito
positivo di alcuni comandi e l'errore di altri, situazione che
provoca uno stato del sistema danneggiato, falso o non
interpretabile, difficile da ripristinare.
CMDLET DI TRANSAZIONE
In Windows PowerShell sono inclusi diversi cmdlet progettati
per la gestione delle transazioni.
Cmdlet Descrizione
-------------- ---------------------------------
Start-Transaction Avvia una nuova transazione.
Use-Transaction Aggiunge un comando o un'espressione
alla transazione. Nel comando è
necessario utilizzare oggetti abilitati
per la transazione.
Undo-Transaction Esegue il rollback della transazione
in modo che nessun dato venga modificato
dalla transazione.
Complete-Transaction Esegue il commit della transazione.
I dati interessati dalla transazione
vengono modificati.
Get-Transaction Ottiene informazioni sulla transazione
attiva.
Per un elenco di cmdlet di transazione, digitare:
get-command *transaction
Per informazioni dettagliate sui cmdlet, digitare:
get-help <nome-cmdlet> -detailed
Ad esempio:
get-help use-transaction -detailed
ELEMENTI ABILITATI PER LE TRANSAZIONI
Per partecipare a una transazione, sia il cmdlet sia il
provider devono supportare le transazioni. Questa funzionalità
è incorporata negli oggetti interessati dalla transazione.
Il provider Registry di Windows PowerShell supporta le
transazioni in Windows Vista. L'oggetto TransactedString
(Microsoft.PowerShell.Commands.Management.TransactedString)
funziona con qualsiasi sistema operativo che esegue Windows
PowerShell.
Altri provider di Windows PowerShell supportano le transazioni.
Per trovare i provider di Windows PowerShell della sessione che
supportano le transazioni, utilizzare il comando seguente per
trovare il valore "Transactions" nella proprietà Capabilities
dei provider:
get-psprovider | where {$_.Capabilities -like "*transactions*"}
Per ulteriori informazioni su un provider, vedere il relativo
argomento della Guida.
Per accedere agli argomenti della Guida relativi ai provider,
digitare:
get-help <nome-provider>
Ad esempio, per ottenere l'argomento della Guida relativo al
provider Registry, digitare:
get-help registry
PARAMETRO USETRANSACTION
I cmdlet che possono supportare le transazioni dispongono di un
parametro UseTransaction. Questo parametro include il comando nella
transazione attiva. È possibile utilizzare il nome completo del
parametro o il relativo alias, "usetx".
Il parametro può essere utilizzato solo quando la sessione
contiene una transazione attiva. Se si immette un comando con
il parametro UseTransaction quando non è presente alcuna
transazione attiva, il comando ha esito negativo.
Per trovare i cmdlet con il parametro UseTransaction, digitare:
get-help * -parameter UseTransaction
In Windows PowerShell, tutti i cmdlet di sistema progettati per
utilizzare i provider di Windows PowerShell supportano le
transazioni. Di conseguenza, è possibile utilizzare i cmdlet
del provider per gestire le transazioni.
Per ulteriori informazioni sui provider di Windows PowerShell,
vedere about_Providers.
OGGETTO TRANSAZIONE
Le transazioni sono rappresentate in Windows PowerShell da un
oggetto transazione, System.Management.Automation.Transaction.
L'oggetto ha le seguenti proprietà:
RollbackPreference:
Contiene il set della preferenza di rollback per la
transazione corrente. È possibile impostare la preferenza
di rollback quando si utilizza Start-Transaction per avviare
la transazione.
La preferenza di rollback determina le condizioni in base
alle quali viene eseguito automaticamente il rollback della
transazione. I valori validi sono Error, TerminatingError e
Never. Il valore predefinito è Error.
Status:
Contiene lo stato corrente della transazione. I valori
validi sono Active, Committed e RolledBack.
SubscriberCount:
Contiene il numero di sottoscrittori della transazione. Un
sottoscrittore viene aggiunto a una transazione quando si
avvia una transazione mentre ne è in corso un'altra. Il
conteggio dei sottoscrittori viene diminuito quando un
sottoscrittore esegue il commit della transazione.
TRANSAZIONI ATTIVE
In Windows PowerShell vi è una sola transazione attiva alla
volta ed è possibile gestire solo la transazione attiva. Più
transazioni possono essere in corso contemporaneamente nella
stessa sessione, ma solo la transazione avviata più
recentemente è attiva.
Di conseguenza, non è possibile specificare una determinata
transazione quando si utilizzano i cmdlet di transazione.
I comandi si applicano sempre alla transazione attiva.
Questa condizione è particolarmente evidente nel comportamento
del cmdlet Get-Transaction. Quando si immette un comando
Get-Transaction, Get-Transaction ottiene sempre un solo oggetto
transazione. Questo oggetto rappresenta la transazione attiva.
Per gestire un'altra transazione, è necessario innanzitutto
finire la transazione attiva, eseguendone il commit o il
rollback. Quando si esegue questa operazione, la transazione
precedente diventa automaticamente attiva. Le transazioni
diventano attive nell'ordine inverso rispetto a quello di
avvio, in modo che la transazione avviata più recentemente
sia sempre attiva.
SOTTOSCRITTORI E TRANSAZIONI INDIPENDENTI
Se si avvia una transazione mentre ne è in corso un'altra,
per impostazione predefinita in Windows PowerShell non viene
avviata una nuova transazione. Viene invece aggiunto un
sottoscrittore alla transazione corrente.
Quando una transazione ha più sottoscrittori, un singolo
comando Undo-Transaction in qualsiasi momento esegue il
rollback dell'intera transazione per tutti i sottoscrittori.
Per eseguire il commit della transazione, tuttavia, è
necessario immettere un comando Complete-Transaction per ogni
sottoscrittore.
Per trovare il numero di sottoscrittori di una transazione,
verificare la proprietà SubscriberCount dell'oggetto
transazione. Ad esempio, nel comando seguente viene utilizzato
il cmdlet Get-Transaction per ottenere il valore della proprietà
SubscriberCount della transazione attiva:
(Get-Transaction).SubscriberCount
L'aggiunta di un sottoscrittore è il comportamento predefinito
perché la maggior parte delle transazioni avviate mentre ne è
in corso un'altra è correlata alla transazione originale. Nel
modello tipico, uno script che contiene una transazione chiama
uno script di supporto che contiene la propria transazione.
Poiché le transazioni sono correlate, è necessario eseguirne il
rollback o il commit come unità.
Tuttavia, è possibile avviare una transazione indipendente
dalla transazione corrente tramite il parametro Independent del
cmdlet Start-Transaction.
Quando si avvia una transazione indipendente, Start-Transaction
crea un nuovo oggetto transazione e la nuova transazione
diventa attiva. Il commit o il rollback della transazione
indipendente può essere eseguito senza effetti sulla
transazione originale.
Al termine della transazione indipendente (commit o rollback),
la transazione originale diventa nuovamente attiva.
MODIFICA DI DATI
Quando si utilizzano le transazioni per modificare i dati, i dati
interessati dalla transazione non vengono modificati finché non viene
eseguito il commit della transazione.
Tuttavia, gli stessi dati possono essere modificati da comandi
che non fanno parte della transazione.
Tenere presente questo punto quando si utilizzano le
transazioni per gestire dati condivisi. In genere, nei database sono
presenti meccanismi che bloccano i dati durante l'utilizzo, allo scopo
di impedirne la modifica da parte di altri utenti e di altri comandi,
script e funzioni.
Tuttavia, il blocco è una funzionalità del database. Non è
correlato alle transazioni. Se si utilizza un file system o un altro
archivio dati abilitato per le transazioni, è possibile modificare i
dati mentre la transazione è in corso.
ESEMPI
Negli esempi di questa sezione viene utilizzato il provider
Registry di Windows PowerShell con cui si presuppone che l'utente
abbia familiarità. Per informazioni sul provider Registry,
digitare "get-help registry".
ESEMPIO 1: ESECUZIONE DEL COMMIT DI UNA TRANSAZIONE
Per creare una transazione, utilizzare il cmdlet Start-Transaction.
Con il comando seguente viene avviata una transazione con le
impostazioni predefinite.
start-transaction
Per includere comandi nella transazione, utilizzare il parametro
UseTransaction del cmdlet. Per impostazione predefinita, i comandi
non sono inclusi.
Ad esempio, il comando seguente, mediante cui viene impostato il
percorso corrente nella chiave Software dell'unità HKCU:, non è
incluso nella transazione.
cd hkcu:\Software
Nel comando seguente, mediante cui viene creata la chiave
MyCompany, viene utilizzato il parametro UseTransaction del
cmdlet New-Item per includere il comando nella transazione attiva.
new-item MyCompany -UseTransaction
Il comando restituisce un oggetto che rappresenta la nuova
chiave, ma il Registro di sistema non viene ancora modificato
poiché il comando fa parte della transazione.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
0 0 MyCompany {}
Per eseguire il commit della transazione, utilizzare il cmdlet
Complete-Transaction.
Poiché influisce sempre sulla transazione attiva, non è possibile
specificare la transazione.
complete-transaction
Di conseguenza, la chiave MyCompany viene aggiunta al Registro di
sistema.
dir m*
Hive: HKEY_CURRENT_USER\software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany {}
ESEMPIO 2: ROLLBACK DI UNA TRANSAZIONE
Per creare una transazione, utilizzare il cmdlet Start-Transaction
. Con il comando seguente viene avviata una transazione con le
impostazioni predefinite.
start-transaction
Nel comando seguente, mediante cui viene creata la chiave
MyOtherCompany, viene utilizzato il parametro UseTransaction del
cmdlet New-Item per includere il comando nella transazione attiva.
new-item MyOtherCompany -UseTransaction
Il comando restituisce un oggetto che rappresenta la nuova
chiave, ma il Registro di sistema non viene ancora modificato
poiché il comando fa parte della transazione.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
0 0 MyOtherCompany {}
Per eseguire il rollback della transazione, utilizzare il cmdlet Undo-
Transaction.
Poiché influisce sempre sulla transazione attiva, non viene
specificata la transazione.
Undo-transaction
Di conseguenza, la chiave MyOtherCompany non viene aggiunta al
Registro di sistema.
dir m*
Hive: HKEY_CURRENT_USER\software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany {}
ESEMPIO 3: ANTEPRIMA DI UNA TRANSAZIONE
In genere, i comandi utilizzati in una transazione modificano i
dati. Tuttavia, anche i comandi che ottengono dati sono utili in una
transazione perché ottengono dati all'interno della transazione.
Viene in tal modo fornita un'anteprima delle modifiche che verrebbero
causate dal commit della transazione.
Nell'esempio seguente viene illustrato come utilizzare il comando Get-
ChildItem (l'alias è "dir") per visualizzare in anteprima le
modifiche in una transazione.
Con il comando seguente viene avviata una transazione.
start-transaction
Nel comando seguente viene utilizzato il cmdlet New-ItemProperty
per aggiungere la voce del Registro di sistema MyKey alla chiave
MyCompany. Viene utilizzato il parametro UseTransaction per
includere il comando nella transazione.
new-itemproperty -path MyCompany -Name MyKey -value 123
-UseTransaction
Il comando restituisce un oggetto che rappresenta la nuova voce
del Registro di sistema, ma la voce del Registro di sistema non è
stata modificata.
MyKey
-----
123
Per ottenere gli elementi attualmente presenti nel Registro di
sistema, utilizzare un comando Get-ChildItem ("dir") senza il
parametro UseTransaction. Con il comando seguente si ottengono
gli elementi che iniziano con "M".
dir m*
Il risultato evidenzia che non è stata ancora aggiunta alcuna
voce alla chiave MyCompany.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany {}
Per visualizzare in anteprima l'effetto del commit della transazione,
immettere un comando Get-ChildItem ("dir") con il parametro
dati dall'interno UseTransaction. Con questo comando si ottiene una dei visualizzazionedella transazione.
dir m* -useTransaction
Il risultato evidenza che, se viene eseguito il commit della
transazione, la voce MyKey viene aggiunta alla chiave MyCompany.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany {MyKey}
ESEMPIO 4: COMBINAZIONE DI COMANDI IN TRANSAZIONE E NON
È possibile immettere comandi non in transazione durante una
transazione. Tali comandi hanno un effetto immediato sui dati, ma
non sulla transazione.
Con il comando seguente viene avviata una transazione nella chiave del
Registro di sistema HKCU:\Software.
start-transaction
Nei tre comandi successivi viene utilizzato il cmdlet New-Item
per aggiungere chiavi al Registro di sistema. Nel primo e nel
terzo comando viene utilizzato il parametro UseTransaction per
includere i comandi nella transazione. Nel secondo comando viene
omesso il parametro. Poiché il secondo comando non è incluso
nella transazione, risulta immediatamente valido.
new-item MyCompany1 -UseTransaction
new-item MyCompany2
new-item MyCompany3 -UseTransaction
Per visualizzare lo stato corrente del Registro di sistema,
utilizzare un comando Get-ChildItem ("dir") senza il parametro
UseTransaction. Con questo comando si ottengono gli elementi che
iniziano con "M".
dir m*
Il risultato evidenzia che la chiave MyCompany2 viene aggiunta al
Registro di sistema, mentre le chiavi MyCompany1 e MyCompany3 che
fanno parte della transazione non vengono aggiunte.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany2 {}
Con il comando seguente viene eseguito il commit della transazione.
complete-transaction
A questo punto le chiavi aggiunte come parte della transazione vengono
visualizzate nel Registro di sistema.
dir m*
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany1 {}
0 0 MyCompany2 {}
0 0 MyCompany3 {}
ESEMPIO 5: UTILIZZO DEL ROLLBACK AUTOMATICO
Quando un comando in una transazione genera un errore di
qualsiasi tipo, viene automaticamente eseguito il rollback della
transazione.
Questo comportamento predefinito è progettato per gli script che
eseguono transazioni. Gli script vengono in genere sottoposti a
test accurati e includono la logica di gestione degli errori,
pertanto gli errori non sono previsti e devono terminare la
transazione.
Con il primo comando viene avviata una transazione nella chiave
del Registro di sistema HKCU:\Software.
start-transaction
Nel comando seguente viene utilizzato il cmdlet New-Item per
aggiungere la chiave MyCompany al Registro di sistema. Viene
utilizzato il parametro UseTransaction (l'alias è "usetx") per
includere il comando nella transazione.
New-Item MyCompany -UseTX
Poiché la chiave MyCompany esiste già nel Registro di sistema,
New-Item: Chiave del percorso già esistente Riga:1 Carattere:9
+ new-item <<<< MyCompany -usetx
Con un comando Get-Transaction viene confermato che il rollback della
transazione è stato eseguito e che SubscriberCount è 0.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 0 RolledBack
ESEMPIO 6: MODIFICA DELLA PREFERENZA DI ROLLBACK
Se si desidera una maggiore tolleranza di errore nella transazione,
è possibile utilizzare il parametro RollbackPreference di
Start-Transaction per modificare la preferenza.
Con il comando seguente viene avviata una transazione con
preferenza di rollback "Never".
start-transaction -rollbackpreference Never
In questo caso, quando il comando ha esito negativo, il rollback della
transazione non viene eseguito automaticamente.
New-Item MyCompany -UseTX
New-Item: Chiave del percorso già esistente Riga:1 Carattere:9
+ new-item <<<< MyCompany -usetx
Poiché la transazione è ancora attiva, è possibile inviare
nuovamente il comando come parte della transazione.
New-Item MyOtherCompany -UseTX
ESEMPIO 7: UTILIZZO DEL CMDLET USE-TRANSACTION
Il cmdlet Use-Transaction consente di eseguire script diretti su
oggetti Microsoft .NET Framework abilitati per le transazioni.
Use-Transaction accetta un blocco di script che può contenere
solo comandi ed espressioni che utilizzano oggetti .NET Framework
abilitati per le transazioni, ad esempio istanze della classe
Microsoft.PowerShell.Commands.Management.TransactedString.
Con il comando seguente viene avviata una transazione.
start-transaction
Con il comando New-Object seguente viene creata un'istanza della
classe TransactedString che viene quindi salvata nella variabile $t.
$t = New-Object Microsoft.PowerShell.Commands.Management.Tran
sactedString
Nel comando seguente viene utilizzato il metodo Append dell'oggetto
TransactedString per aggiungere testo alla stringa. Poiché il comando
non fa parte della transazione, la modifica diventa immediatamente
effettiva.
$t.append("Windows")
Nel comando seguente viene utilizzato lo stesso metodo Append per
aggiungere testo, ma il testo viene aggiunto come parte della
transazione. Il comando è racchiuso tra parentesi graffe e viene
impostato come valore del parametro ScriptBlock di Use-Transaction.
Il parametro UseTransaction (UseTx) è obbligatorio.
use-transaction {$t.append(" PowerShell")} -usetx
Per vedere il contenuto corrente della stringa sottoposta a
transazione in $t, utilizzare il metodo ToString dell'oggetto
TransactedString.
$t.tostring()
L'output evidenzia che solo le modifiche non in transazione sono
effettive.
Windows
Per vedere il contenuto corrente della stringa sottoposta a
transazione in $t dall'interno della transazione, incorporare
l'espressione in un comando Use-Transaction.
use-transaction {$s.tostring()} -usetx
L'output mostra la visualizzazione della transazione.
Windows PowerShell
Con il comando seguente viene eseguito il commit della transazione.
complete-transaction
Per vedere la stringa finale:
$t.tostring()
Windows PowerShell
ESEMPIO 7: GESTIONE DELLE TRANSAZIONI CON PIÙ SOTTOSCRITTORI
Quando si avvia una transazione mentre ne è in corso un'altra, per
impostazione predefinita in Windows PowerShell non viene creata una
seconda transazione. Viene invece aggiunto un sottoscrittore alla
transazione corrente.
In questo esempio viene illustrato come visualizzare e gestire
una transazione con più sottoscrittori.
Innanzitutto, avviare una transazione nella chiave HKCU:\Software.
start-transaction
Nel comando seguente viene utilizzato il comando Get-Transaction
per ottenere la transazione attiva.
get-transaction
Il risultato mostra l'oggetto che rappresenta la transazione attiva.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Con il comando seguente viene aggiunta la chiave MyCompany al
Registro di sistema.
Viene utilizzato il parametro UseTransaction per includere il
comando nella transazione.
new-item MyCompany -UseTransaction
Nel comando seguente viene utilizzato il comando Start-Transaction
per avviare una transazione. Benché questo comando venga
digitato al prompt dei comandi, è più probabile che questo
scenario si verifichi quando si esegue uno script che contiene una
transazione.
start-transaction
Con un comando Get-Transaction viene mostrato che il conteggio dei
sottoscrittori nell'oggetto transazione viene incrementato. Il valore
è ora 2.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 2 Active
Nel comando seguente viene utilizzato il cmdlet New-ItemProperty per
aggiungere la voce del Registro di sistema MyKey alla chiave
MyCompany. Viene utilizzato il parametro UseTransaction per includere
il comando nella transazione.
new-itemproperty -path MyCompany -name MyKey -UseTransaction
La chiave MyCompany non esiste nel Registro di sistema, ma questo
comando ha esito positivo perché i due comandi fanno parte della
stessa transazione.
Con il comando seguente viene eseguito il commit della
transazione. Se venisse eseguito il rollback della transazione, tale
operazione verrebbe eseguita per tutti i sottoscrittori.
complete-transaction
Con un comando Get-Transaction viene mostrato che il conteggio dei
è sottoscrittori sull'oggetto transazione è 1, ma il valore di Status
ancora Active (non Committed).
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Per completare il commit della transazione, immettere un secondo
comando Complete-Transaction. Per eseguire il commit di una
transazione con più sottoscrittori, è necessario immettere un comando
Complete-Transaction per ogni comando Start-Transaction.
complete-transaction
Con un altro comando Get-Transaction viene mostrato che il commit
della transazione è stato eseguito.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 0 Committed
ESEMPIO 8: GESTIONE DI TRANSAZIONI INDIPENDENTI
Quando si avvia una transazione mentre un'altra transazione è in
corso, è possibile utilizzare il parametro Independent di
Start-Transaction per rendere la nuova transazione indipendente
da quella originale.
In tal caso, con Start-Transaction viene creato un nuovo oggetto
transazione e la nuova transazione diventa attiva.
Innanzitutto, avviare una transazione nella chiave HKCU:\Software.
start-transaction
Nel comando seguente viene utilizzato il comando Get-Transaction
per ottenere la transazione attiva.
get-transaction
Il risultato mostra l'oggetto che rappresenta la transazione attiva.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Con il comando seguente viene aggiunta la chiave del Registro di
sistema MyCompany come parte della transazione. Il parametro
UseTransaction (UseTx) viene utilizzato per includere il comando nella
transazione attiva.
new-item MyCompany -use
Con il comando seguente viene avviata una nuova transazione.
Viene utilizzato il parametro Independent per indicare che questa
transazione non è un sottoscrittore della transazione attiva.
start-transaction -independent
Quando si crea una transazione indipendente, la nuova transazione
(creata più recentemente) diventa attiva. È possibile utilizzare
un comando Get-Transaction per ottenere la transazione attiva.
get-transaction
Si noti che il valore di SubscriberCount della transazione è 1,
per indicare che non sono presenti altri sottoscrittori e che la
transazione è nuova.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Prima di poter gestire la transazione originale, è necessario
completare la nuova transazione, ovvero eseguirne il commit o il
rollback.
Con il comando seguente viene aggiunta la chiave MyOtherCompany
al Registro di sistema.
Il parametro UseTransaction (UseTx) viene utilizzato per
includere il comando nella transazione attiva.
new-item MyOtherCompany -usetx
A questo punto, eseguire il rollback della transazione. Se fosse
presente una sola transazione con due sottoscrittori, il rollback
della transazione verrebbe eseguito sull'intera transazione per
tutti i sottoscrittori.
Tuttavia, poiché queste transazioni sono indipendenti, il
rollback della transazione più recente annulla le modifiche del
Registro di sistema e rende attiva la transazione originale.
undo-transaction
Con un comando Get-Transaction viene confermato che la
transazione originale è ancora attiva nella sessione.
get-transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Con il comando seguente viene eseguito il commit della transazione.
complete-transaction
Con un comando Get-ChildItem viene mostrato che il Registro di
sistema è stato modificato.
dir m*
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany {}
VEDERE ANCHE
Start-Transaction
Get-Transaction
Complete-Transaction
Undo-Transaction
Use-Transaction
Registry (provider)
about_Providers
Get-PSProvider
Get-ChildItem