RUBRIQUE
about_Transactions
DESCRIPTION COURTE
Décrit comment gérer les opérations basées sur les transactions
dans Windows PowerShell.
DESCRIPTION LONGUE
Les transactions sont prises en charge dans Windows PowerShell à
partir de la version Windows PowerShell 2.0. Cette fonctionnalité
vous permet de démarrer une transaction, d'indiquer quelles
commandes font partie de la transaction et de valider ou de
restaurer une transaction.
À PROPOS DES TRANSACTIONS
Dans Windows PowerShell, une transaction est un jeu d'une ou
plusieurs commandes gérées comme une unité logique. Une
transaction peut être effectuée (" validée "), ce qui modifie
les données concernées par la transaction. Une transaction peut
aussi être annulée (" restaurée ") afin que les données
concernées ne soient pas modifiées par la transaction.
Comme les commandes figurant dans une transaction sont gérées
en bloc, toutes les commandes sont soit validées, soit restaurées.
Les transactions sont largement utilisées dans le traitement
des données, plus particulièrement dans les opérations de base
de données et pour les transactions financières. Les
transactions sont utilisées, le plus souvent, dans le cas d'un
jeu de commandes, lorsque le scénario le plus défavorable ne
consiste pas en l'échec de toutes les commandes, mais seulement
d'une partie, laissant le système dans un état endommagé, faux,
ou non interprétable et difficile à réparer.
APPLETS DE COMMANDE DE TRANSACTION
Windows PowerShell inclut plusieurs applets de commande conçues
pour gérer les transactions.
Applets de commande Description
----------------- ---------------------------------
Start-Transaction Démarre une nouvelle transaction.
Use-Transaction Ajoute une commande ou une
expression à la transaction.
La commande doit utiliser des
objets prenant en charge les transactions.
Undo-Transaction Restaure la transaction afin
qu'aucune donnée ne soit modifiée
par la transaction.
Complete-Transaction Valide la transaction. Les données
concernées par la transaction sont
modifiées.
Get-Transaction Obtient des informations à propos
de la transaction active.
Pour obtenir une liste d'applets de commande de transaction, tapez :
get-command *transaction
Pour plus d'informations sur les applets de commande, tapez :
get-help <nom-applet-de-commande> -detailed
Par exemple :
get-help use-transaction -detailed
ÉLÉMENTS PRENANT EN CHARGE LES TRANSACTIONS
Pour participer à une transaction, à la fois l'applet de
commande et le fournisseur doivent prendre en charge des
transactions. Cette fonctionnalité est intégrée aux objets
affectés par la transaction.
Le fournisseur de Registre Windows PowerShell prend en charge
des transactions dans Windows Vista. L'objet TransactedString
(Microsoft.PowerShell.Commands.Management.TransactedString)
fonctionne avec tout système d'exploitation qui exécute
Windows PowerShell.
D'autres fournisseurs Windows PowerShell peuvent prendre en
charge des transactions. Pour rechercher les fournisseurs
Windows PowerShell dans votre session qui prennent en charge
les transactions, utilisez la commande suivante pour rechercher
la valeur " Transactions " dans la propriété Capabilities
des fournisseurs :
get-psprovider | where {$_.Capabilities -like "*transactions*"}
Pour plus d'informations sur un fournisseur, consultez l'aide
relative à ce fournisseur.
Pour obtenir de l'aide sur un fournisseur, tapez :
get-help <nom-du-fournisseur>
Par exemple, pour obtenir de l'aide sur le fournisseur de
Registre, tapez :
get-help registry
PARAMÈTRE USETRANSACTION
Les applets de commande qui peuvent prendre en charge des
transactions possèdent un paramètre UseTransaction. Ce
paramètre inclut la commande dans la transaction active. Vous pouvez
utiliser le nom complet du paramètre ou son alias, " usetx ".
Le paramètre peut être utilisé uniquement lorsque la session
contient une transaction active. Si vous entrez une commande avec le
paramètre UseTransaction lorsqu'aucune transaction n'est active, la
commande échoue.
Pour rechercher des applets de commande avec le paramètre
UseTransaction, tapez :
get-help * -parameter UseTransaction
Au cœur de Windows PowerShell, toutes les applets de commande
conçues pour fonctionner avec des fournisseurs Windows
PowerShell prennent en charge des transactions. Par conséquent,
vous pouvez utiliser les applets de commande du fournisseur
pour gérer des transactions.
Pour plus d'informations sur les fournisseurs Windows PowerShell,
consultez about_Providers.
OBJET TRANSACTION
Les transactions sont représentées dans Windows PowerShell par
un objet de transaction, System.Management.Automation.Transaction.
L'objet a les propriétés suivantes :
RollbackPreference :
contient le jeu de préférences de restauration pour la
transaction actuelle. Vous pouvez définir la préférence de
restauration lorsque vous utilisez Start-Transaction pour
démarrer la transaction.
La préférence de restauration spécifie les conditions sous
lesquelles la transaction est automatiquement restaurée.
Les valeurs valides sont Error, TerminatingError et Never.
La valeur par défaut est Error.
Status :
contient l'état en cours de la transaction. Les valeurs
valides sont Active, Committed et RolledBack.
SubscriberCount :
contient le nombre d'abonnés à la transaction. Un abonné est
ajouté à une transaction lorsque vous démarrez une
transaction pendant qu'une autre transaction est en cours.
Le nombre d'abonnés est décrémenté lorsqu'un abonné valide
la transaction.
TRANSACTIONS ACTIVES
Dans Windows PowerShell, une seule transaction est active à la
fois, et vous pouvez gérer uniquement la transaction active.
Plusieurs transactions peuvent être en cours en même temps dans
la même session, mais uniquement la dernière transaction
commencée est active.
Par conséquent, vous ne pouvez pas spécifier de transaction
particulière lors de l'utilisation des applets de commande de
transaction. Les commandes s'appliquent toujours à la
transaction active.
Le comportement de l'applet de commande Get-Transaction en est
la parfaite démonstration. Lorsque vous entrez une commande
Get-Transaction, cette dernière obtient toujours un seul objet de
transaction. Cet objet est celui qui représente la transaction active.
Pour gérer une transaction différente, vous devez au préalable
terminer la transaction active, en la validant ou en la
restaurant. Ainsi, la transaction précédente devient
automatiquement active. Les transactions deviennent actives
dans l'ordre inverse de celui dans lequel elles ont démarré,
afin que la dernière transaction commencée soit toujours active.
ABONNÉS ET TRANSACTIONS INDÉPENDANTES
Si vous démarrez une transaction pendant qu'une autre
transaction est en cours, par défaut, Windows PowerShell ne
démarre pas de nouvelle transaction. Il ajoute à la place un
deuxième " abonné " à la transaction actuelle.
Lorsque la transaction comporte plusieurs abonnés, une commande
Undo-Transaction unique restaure l'intégralité de la transaction
pour tous les abonnés à un moment ou un autre. Toutefois, pour
valider la transaction, vous devez entrer une commande
Complete-Transaction pour chaque abonné.
Pour rechercher le nombre d'abonnés à une transaction, vérifiez
la propriété SubscriberCount de l'objet de transaction. Par
exemple, la commande suivante utilise l'applet de commande
Get-Transaction pour obtenir la valeur de la propriété
SubscriberCount de la transaction active :
(Get-Transaction).SubscriberCount
L'ajout d'un abonné est le comportement par défaut car la
plupart des transactions démarrées pendant qu'une autre
transaction est en cours sont liées à la transaction d'origine.
Dans le modèle traditionnel, un script qui contient une
transaction appelle un script d'application auxiliaire qui
contient sa propre transaction. Étant donné que les
transactions sont liées, elles doivent être restaurées ou
validées en bloc.
Toutefois, vous pouvez démarrer une transaction qui est
indépendante de la transaction actuelle à l'aide du paramètre
Independent de l'applet de commande Start-Transaction.
Lorsque vous démarrez une transaction indépendante,
Start-Transaction crée un objet de transaction et la nouvelle
transaction devient la transaction active. La transaction
indépendante peut être validée ou restaurée sans affecter la
transaction d'origine.
Lorsque la transaction indépendante est terminée (validée ou
restaurée), la transaction d'origine redevient active.
MODIFICATION DE DONNÉES
Lorsque vous utilisez des transactions pour modifier des
données, les données affectées par la transaction ne sont pas
modifiées jusqu'à ce que vous validiez la transaction.
Toutefois, les mêmes données peuvent être modifiées par les
commandes qui ne font pas partie de la transaction.
Gardez cet élément à l'esprit lorsque vous utilisez des
transactions pour gérer des données partagées. En général, les
bases de données ont des mécanismes qui verrouillent les
données pendant que vous les utilisez, empêchant d'autres
utilisateurs et d'autres commandes, scripts et fonctions de les
modifier.
Toutefois, le verrouillage est une fonctionnalité de la base de
données. Il n'est pas lié aux transactions. Si vous travaillez
dans un système de fichiers prenant en charge les transactions
ou un autre magasin de données, les données peuvent être
modifiées pendant que la transaction est en cours.
EXEMPLES
Les exemples mentionnés dans cette section utilisent le fournisseur de
Registre de Windows PowerShell et supposent qu'il vous est familier.
Pour plus d'informations sur le fournisseur de Registre,
tapez " get-help registry ".
EXEMPLE 1 : VALIDATION D'UNE TRANSACTION
Pour créer une transaction, utilisez l'applet de commande
Start-Transaction. La commande suivante démarre une transaction
avec les paramètres par défaut.
start-transaction
Pour inclure des commandes dans la transaction, utilisez le paramètre
UseTransaction de l'applet de commande. Par défaut, les commandes ne
sont pas incluses dans la transaction.
Par exemple, la commande suivante, qui définit l'emplacement
actuel dans la clé Software du lecteur HKCU:, n'est pas inclus dans la
transaction.
cd hkcu:\Software
La commande suivante, qui crée la clé MyCompany, utilise le paramètre
UseTransaction de l'applet de commande New-Item pour inclure la
commande dans la transaction active.
new-item MyCompany -UseTransaction
La commande retourne un objet qui représente la nouvelle clé,
mais étant donné que la commande fait partie de la transaction,
le Registre n'est pas encore modifié.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
0 0 MyCompany {}
Pour valider la transaction, utilisez l'applet de commande
Complete- Transaction. Étant donné qu'elle affecte toujours
la transaction active, vous ne pouvez pas spécifier la transaction.
complete-transaction
Par conséquent, la clé MyCompany est ajoutée au Registre.
dir m*
Hive: HKEY_CURRENT_USER\software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany {}
EXEMPLE 2 : RESTAURATION D'UNE TRANSACTION
Pour créer une transaction, utilisez l'applet de commande
Start-Transaction. La commande suivante démarre une transaction
avec les paramètres par défaut.
start-transaction
La commande suivante, qui crée la clé MyOtherCompany, utilise le
paramètre UseTransaction de l'applet de commande New-Item pour
inclure la commande dans la transaction active.
new-item MyOtherCompany -UseTransaction
La commande retourne un objet qui représente la nouvelle clé,
mais étant donné que la commande fait partie de la transaction,
le Registre n'est pas encore modifié.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
0 0 MyOtherCompany {}
Pour restaurer la transaction, utilisez l'applet de commande
Undo-Transaction. Étant donné qu'il affecte toujours la
transaction active, vous ne spécifiez pas la transaction.
Undo-transaction
Il en résulte que la clé MyOtherCompany n'est pas ajoutée au Registre.
dir m*
Hive: HKEY_CURRENT_USER\software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany {}
EXEMPLE 3 : AFFICHAGE DE L'APERÇU D'UNE TRANSACTION
En général, les commandes utilisées dans une transaction
modifient les données. Toutefois, les commandes qui obtiennent
des données sont utiles dans une transaction, parce qu'elles en
obtiennent aussi à l'intérieur de la transaction. Cela fournit un
aperçu des modifications que la validation de la transaction
provoquerait.
L'exemple suivant montre la façon d'utiliser la commande Get-ChildItem
(l'alias est " dir ") pour afficher un aperçu des modifications dans une
transaction.
La commande suivante démarre une transaction.
start-transaction
La commande suivante utilise l'applet de commande New-ItemProperty
pour ajouter l'entrée de registre MyKey à la clé de Registre
MyCompany. La commande utilise le paramètre UseTransaction pour
inclure la commande dans la transaction.
new-itemproperty -path MyCompany -Name MyKey -value 123 -UseTransaction
La commande retourne un objet qui représente la nouvelle entrée
de Registre, mais l'entrée de Registre n'est pas modifiée.
MyKey
-----
123
Pour obtenir les éléments qui sont actuellement dans le Registre,
utilisez une commande Get-ChildItem (" dir ") sans le paramètre
UseTransaction. La commande suivante obtient des éléments qui
commencent par " M ".
dir m*
Le résultat montre qu'aucune entrée n'a encore été ajoutée à la
clé MyCompany.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany {}
Pour afficher un aperçu de l'effet de la validation de la
transaction, entrez une commande Get-ChildItem (" dir ") avec le
paramètre UseTransaction. Cette commande fournit une vue des
données à partir de l'intérieur de la transaction.
dir m* -useTransaction
Le résultat montre que, si la transaction est validée, l'entrée
MyKey sera ajoutée à la clé MyCompany.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 1 MyCompany {MyKey}
EXEMPLE 4 : COMBINAISON DE COMMANDES BASÉES OU NON SUR DES TRANSACTIONS
Lors d'une transaction, vous pouvez entrer des commandes non
basées sur des transactions. Les commandes non basées sur les
transactions affectent immédiatement les données, mais
n'affectent pas la transaction.
La commande suivante démarre une transaction dans la clé de Registre
HKCU:\Software.
start-transaction
Les trois commandes suivantes utilisent l'applet de commande
New-Item pour ajouter des clés au Registre. La première et la
troisième commande utilisent le paramètre UseTransaction pour
inclure les commandes dans la transaction. La deuxième commande
omet le paramètre. Étant donné que la deuxième commande n'est pas
incluse dans la transaction, le résultat est immédiatement effectif.
new-item MyCompany1 -UseTransaction
new-item MyCompany2
new-item MyCompany3 -UseTransaction
Pour consulter l'état actuel du Registre, utilisez une commande
Get-ChildItem (" dir ") sans le paramètre UseTransaction. Cette
commande obtient des éléments qui commencent par " M ".
dir m*
Le résultat montre que la clé MyCompany2 est ajoutée au Registre,
mais les clés MyCompany1 et MyCompany3, qui font partie de la
transaction, ne le sont pas.
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany2 {}
La commande suivante valide la transaction.
complete-transaction
À présent, les clés ajoutées dans le cadre de la transaction
apparaissent dans le Registre.
dir m*
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany1 {}
0 0 MyCompany2 {}
0 0 MyCompany3 {}
EXEMPLE 5 : UTILISATION DE LA RESTAURATION AUTOMATIQUE
Lorsqu'une commande figurant dans une transaction génère une
erreur de quelque type que ce soit, la transaction est
automatiquement restaurée par défaut.
Ce comportement par défaut est conçu pour les scripts qui
exécutent des transactions. Comme les scripts sont en général
correctement testés et incluent une logique de gestion des
erreurs, on ne s'attend pas à ce que des erreurs se produisent ;
le cas échéant, elles devraient mettre fin à la transaction.
La première commande démarre une transaction dans la clé de Registre
HKCU:\Software.
start-transaction
La commande suivante utilise l'applet de commande New-Item pour
ajouter la clé MyCompany au Registre. La commande utilise le paramètre
UseTransaction (l'alias est " usetx ") pour inclure la commande dans la
transaction.
New-Item MyCompany -UseTX
Parce que la clé MyCompany existe déjà dans le Registre, la
commande échoue et la transaction est annulée.
New-Item : une clé à ce chemin d'accès existe déjà À la
ligne : 1 Caractère : 9
+ new-item <<<< MyCompany -usetx
Une commande Get-Transaction confirme que la transaction a été
restaurée et que SubscriberCount a la valeur 0.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 0 RolledBack
EXEMPLE 6 : MODIFICATION DE LA PRÉFÉRENCE DE RESTAURATION
Si vous souhaitez que la transaction présente une meilleure
tolérance à l'erreur, vous pouvez utiliser le paramètre
RollbackPreference de Start-Transaction pour modifier la préférence.
La commande suivante démarre une transaction avec une préférence de
restauration qui a la valeur " Never ".
start-transaction -rollbackpreference Never
Dans ce cas, lorsque la commande échoue, la transaction n'est pas
restaurée automatiquement.
New-Item MyCompany -UseTX
New-Item : une clé à ce chemin d'accès existe déjà À la
ligne : 1 Caractère : 9
+ new-item <<<< MyCompany -usetx
Étant donné que la transaction est encore active, vous pouvez
renvoyer la commande dans le cadre de la transaction.
New-Item MyOtherCompany -UseTX
EXEMPLE 7 : UTILISATION DE L'APPLET DE COMMANDE USE-TRANSACTION
L'applet de commande Use-Transaction vous permet d'écrire
directement des scripts à partir d'objets Microsoft .NET
Framework prenant en charge des transactions.
Use-Transaction prend un bloc de script qui peut contenir
uniquement des commandes et des expressions qui utilisent des
objets .NET Framework prenant en charge des transactions, tels que des
instances de
la classe Microsoft.PowerShell.Commands.Management.TransactedString.
La commande suivante démarre une transaction.
start-transaction
La commande New-Object suivante crée une instance de la classe
TransactedString et l'enregistre dans la variable $t.
$t = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
La commande suivante utilise la méthode Append de l'objet
TransactedString pour ajouter du texte à la chaîne. Comme la
commande ne fait pas partie de la transaction, la modification est
immédiatement effective.
$t.append("Windows")
La commande suivante utilise la même méthode Append pour ajouter
le texte, mais elle ajoute le texte dans le cadre de la
transaction. La commande est mise entre accolades et elle est
définie comme valeur du paramètre ScriptBlock de Use-Transaction.
Le paramètre UseTransaction (UseTx) est obligatoire.
use-transaction {$t.append(" PowerShell")} -usetx
Pour consulter le contenu actuel de la chaîne basée sur des
transactions dans $t, utilisez la méthode ToString de l'objet
TransactedString.
$t.tostring()
La sortie montre que seules les modifications non basées sur des
transactions sont effectives.
Windows
Pour consulter le contenu actuel de la chaîne basée sur les
transactions dans $t à partir de l'intérieur de la transaction,
incorporez l'expression dans une commande Use-Transaction.
use-transaction {$s.tostring()} -usetx
La sortie affiche la vue de la transaction.
Windows PowerShell
La commande suivante valide la transaction.
complete-transaction
Pour consulter la dernière chaîne :
$t.tostring()
Windows PowerShell
EXEMPLE 7 : GESTION DE TRANSACTIONS QUI COMPORTENT PLUSIEURS ABONNÉS
Lorsque vous démarrez une transaction pendant qu'une autre
transaction est en cours, Windows PowerShell ne crée pas une deuxième
transaction par défaut. Il ajoute à la place un deuxième abonné à la
transaction actuelle.
Cet exemple montre comment afficher et gérer une transaction qui
comporte plusieurs abonnés.
Commencez par démarrer une transaction dans la clé HKCU:\Software.
start-transaction
La commande suivante utilise la commande Get-Transaction pour
obtenir la transaction active.
get-transaction
Le résultat affiche l'objet qui représente la transaction active.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
La commande suivante ajoute la clé MyCompany au Registre.
La commande utilise le paramètre UseTransaction pour inclure la
commande dans la transaction.
new-item MyCompany -UseTransaction
La commande suivante utilise la commande Start-Transaction pour
démarrer une transaction. Bien que cette commande soit tapée à
l'invite de commandes, il est plus probable que ce scénario se
produise lorsque vous exécutez un script contenant une transaction.
start-transaction
Une commande Get-Transaction montre que le nombre d'abonnés sur
l'objet de transaction est incrémenté. La valeur est maintenant 2.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 2 Active
La commande suivante utilise l'applet de commande New-ItemProperty
pour ajouter l'entrée de Registre MyKey à la clé MyCompany. Elle
utilise le paramètre UseTransaction pour inclure la commande dans
la transaction.
new-itemproperty -path MyCompany -name MyKey -UseTransaction
La clé MyCompany n'existe pas dans le Registre, mais cette
commande réussit parce que les deux commandes font partie de la même
transaction.
La commande suivante valide la transaction. Si la transaction a
été restaurée, elle l'aura été pour tous les abonnés.
complete-transaction
Une commande Get-Transaction montre que le nombre d'abonnés sur
l'objet de transaction est 1, mais la valeur de Status est encore
Active (et pas Committed).
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Pour terminer de valider la transaction, entrez une deuxième commande
Complete- Transaction. Pour valider une transaction qui comporte
plusieurs abonnés, vous devez entrer une commande Complete-Transaction
pour chaque commande Start-Transaction.
complete-transaction
Une autre commande Get-Transaction affiche que la transaction a
été validée.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 0 Committed
EXEMPLE 8 : GESTION DE TRANSACTIONS INDÉPENDANTES
Lorsque vous démarrez une transaction pendant qu'une autre
transaction est en cours, vous pouvez utiliser le paramètre
Independent de Start-Transaction pour rendre la nouvelle
transaction indépendante de la transaction d'origine.
Lorsque vous le faites, Start-Transaction crée un objet de
transaction et rend active la nouvelle transaction.
Commencez par démarrer une transaction dans la clé HKCU:\Software.
start-transaction
La commande suivante utilise la commande Get-Transaction pour
obtenir la transaction active.
get-transaction
Le résultat affiche l'objet qui représente la transaction active.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
La commande suivante ajoute la clé de Registre MyCompany dans le
cadre de la transaction. Elle utilise le paramètre UseTransaction
(UseTx) pour inclure la commande dans la transaction active.
new-item MyCompany -use
La commande suivante démarre une nouvelle transaction. La
commande utilise le paramètre Independent pour indiquer que cette
transaction n'est pas une abonnée de la transaction active.
start-transaction -independent
Lorsque vous créez une transaction indépendante, la nouvelle
(c'est-à-dire la dernière) transaction devient la transaction
active. Vous pouvez utiliser une commande Get-Transaction pour
obtenir la transaction active.
get-transaction
Notez que la valeur de SubscriberCount de la transaction est 1,
indiquant qu'il n'y a pas d'autres abonnés et que la transaction
est nouvelle.
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
La nouvelle transaction doit être terminée (validée ou restaurée)
avant de pouvoir gérer la transaction d'origine.
La commande suivante ajoute la clé MyOtherCompany au Registre.
Elle utilise le paramètre UseTransaction (UseTx) pour inclure la
commande dans la transaction active.
new-item MyOtherCompany -usetx
À présent, restaurez la transaction. S'il y avait une transaction
unique avec deux abonnés, la restauration de la transaction
restaurerait la transaction entière pour tous les abonnés.
Toutefois, parce que ces transactions sont indépendantes, restaurer la
dernière transaction annule les modifications du Registre et rend
active la transaction d'origine.
undo-transaction
Une commande Get-Transaction confirme que la transaction
d'origine est encore active dans la session.
get-transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
La commande suivante valide la transaction active.
complete-transaction
Une commande Get-ChildItem montre que le Registre a été modifié.
dir m*
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
83 1 Microsoft {(default)}
0 0 MyCompany {}
VOIR AUSSI
Start-Transaction
Get-Transaction
Complete-Transaction
Undo-Transaction
Use-Transaction
Registry (fournisseur)
about_Providers
Get-PSProvider
Get-ChildItem