[Powershell]Manipuler des données dans une clé de registre

Manipuler des données dans une clé de registre [Powershell] - Shell/Batch - Programmation

Marsh Posté le 08-02-2023 à 11:19:00    

:hello:
 
J'ai besoin de modifier une partie des informations présentes dans une clé de registre. Il s'agit du path dans les variables d'environnement Windows:

Code :
  1. C:\Program Files (x86)\Common Files\Oracle\Java\javapath; C:\windows\system32; C:\windows;C:\windows\System32\Wbem; C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\; C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\; C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\; C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\DTS\Binn\;;\\xxxxxxx\dossier;\\xxxxxxx\dossier\dossier;


 
J'aimerais que le script modifie le nom du serveur "xxxxxxx" par "yyyyyyy". Le nom du serveur est unique et n'a pas de pattern style "serv0001, serv0002...".
 
Merci!


---------------
Labellisé Original HB Seal Of Quality :o
Reply

Marsh Posté le 08-02-2023 à 11:19:00   

Reply

Marsh Posté le 08-02-2023 à 15:25:03    

Bon j'ai un peu avancé dans mon truc:
 

Code :
  1. $serveur = "Roger69"
  2. $registerypath = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
  3. $key = "Path"
  4. $value = (Get-ItemProperty -Path $registerypath -Name $key).$key
  5. $value2 = $value.Replace("\\Robert42\dossier" , "\\$serveur\dossier" )
  6. Set-ItemProperty -Path $registerypath -Name $key -Value $value2


En l'état ça fonctionne: Robert42 va être remplacé par Roger69
Mais je ne peux pas mettre le nom de l'ancien serveur en dur. il faut que ce soit des caractères génériques...
A moins de réussir à lire le nom de l'ancien serveur et de le mettre en variable dans le "Replace"?


Message édité par MisterMoT le 08-02-2023 à 15:34:46

---------------
Labellisé Original HB Seal Of Quality :o
Reply

Marsh Posté le 08-02-2023 à 16:42:42    

Connais pas PS, mais au pif: Tu ne chercherais pas les "RegEx"? (regular expressions)

Reply

Marsh Posté le 08-02-2023 à 21:09:47    

C'est bon, en fait j'ai demandé à ChatGPT :o
Merci quand même rat de combat :jap:


---------------
Labellisé Original HB Seal Of Quality :o
Reply

Marsh Posté le 12-02-2023 à 19:58:38    

Mettre dans le path l'adresse d'un serveur distant ? worst idea ever :/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed