Bonjour,

Je me tourne vers vous car je suis entrain de rédiger un script pour changer des clés de registres, cependant lorsque j'exécute ce dernier, quand je veux vérifier si mon entrée de registre existe, quand elle existe, je n'ai aucun retour et quand elle n'existe pas, la suite ne démarre pas, je vous joins le script et je tiens à préciser que je débute en script donc veuillez m'excuser si vous voyez des aberrances sur mon script.

Merci d'avance à ceux qui pourront m'aiguiller sur la bonne voie :

Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$repUser = Read-Host "Quel est le nom de la clé à vérifier ? " #formulaire adressé à l'utilisateur
$UserShellFolders= Set-Location Registry::\HKEY_USERS\S-1-5-21-932784933-1916278750-2019186543-444104\Software\Microsoft\Windows\CurrentVersion\Explorer\User" "Shell" "Folders\ #concernera le dossier User Shell Folders
$verif= Test-Path (get-itempropertyvalue -Name $repUser) #le test-path va renvoyer true or false et le get-itempropertyvalue permettra de vérifier l'existence de l'entrée de registre
#$KeyUserShellFolders = 
 
 
 
function Registre ($repUser)#appel de la fonction registre
{
 
        {
          ForEach ($repUser in $UserShellFolders) #pour chaque réponses utilisateurs se trouvant dans le chemin spécifié $UserShellFolders
 
            {
 
                     if ($verif -eq $true) #Si la vérification de la clé renseigné par l'utilisateur est vrai
 
                        {
                            Write-Host $repUser "existe"
                        }
 
                     else #Si la clé n'est pas présente
 
                        {  
                            Write-Host "la clé" $repUser "n'existe pas"
                            $Create = Read-host "Voulez-vous créer" $repUser "? Y/N"
 
                            if ($Create = "Y")
                                {
                                    $KeyValue = Read-Host "Quel valeur voulez-vous attribuer à cette clé ?"
 
                                    New-ItemProperty -Path "." -Name $repUser -Value $KeyValue -PropertyType "ExpandString" #Création de l'entrée de registre avec l'instertion des données
                                }
                            else 
                                {
                                    Return function Registre #retour au début de la fonction pour reprendre sur une autre clé
                                }
 
 
                        }          
            }  
        }
}