diff --git a/content/articles/2019/gio-ligne-commande/index.md b/content/articles/2019/gio-ligne-commande/index.md index a504331..d73a253 100644 --- a/content/articles/2019/gio-ligne-commande/index.md +++ b/content/articles/2019/gio-ligne-commande/index.md @@ -1,5 +1,5 @@ Title: Utiliser Gio en ligne de commande -Category: sysadmin +Category: le blog Tags: pl-fr, GIO, fichiers, terminal Date: 2019-04-25 1:30 Status: published diff --git a/content/articles/2019/powershell-changer-registre-userclass/index.md b/content/articles/2019/powershell-changer-registre-userclass/index.md deleted file mode 100644 index 0a4a383..0000000 --- a/content/articles/2019/powershell-changer-registre-userclass/index.md +++ /dev/null @@ -1,65 +0,0 @@ -Title: Utiliser powershell pour supprimer des clés de registres -Category: sysadmin -Tags: Powershell, Windows, script -Date: 2019-06-04 1:30 -Status: published - -Oui je l'avoue, je fais pas mal de scripts powershell au boulot, et je ne trouves -pas ça déplaisant. Il bien le faut dire : pour automatiser des choses sous -Microsoft Windows, c'est une étape obligée. - -## Modifier des clefs de registres utilisateurs - -Une application métier a besoin de changement de paramétrages, ceux ci peuvent -être fait via le chemin `HKLM:\SOFTWARE\WOW6432Node\`. Sauf que -c'est trop simple... Je ne sais pas vraiment pourquoi[^n_defi], mais -l'application écrit aussi ces paramètres dans la ruche de certains -utilisateurs, plus spécifiquement dans celle stockée dans le fichier -`C:\Users\\AppData\Local\Microsoft\Windows\UsrClass.dat`, utilisée dans -`HKU:\_classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\`. - -Ceux-ci "surchargent" les parametres globaux empêchant les nouveaux paramètres -de fonctionner, je dois donc les supprimer **de ces utilisateurs**. Mais j'ai 80 -comptes de crées sur cette machine, un peu long à la main. - -Ne causons pas trop du registre Windows, [ce site][l_winreg] le fait très bien -(en anglais) - -[l_winreg]:https://www.techsupportalert.com/content/deeper-windows-registry.htm - -## Avec un script powershell - -Mettre en place un script est donc tout indiqué dans ce cas, mais croyez-moi -c'est pas évident de trouver des exemples de codes sur le "montage" des ruches, -voici donc le script réalisé pour ce cas : - -```powershell -$dir = "VirtualStore\MACHINE\SOFTWARE\WOW6432Node\mon_appli" -# Récupération des utilisateurs ayant un compte sur le systeme -$sid = Get-WmiObject -Class Win32_UserAccount | Select SID -$profile_list = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\" -New-PSDrive -PSProvider Registry -Root HKEY_USERS -Name HKU | Out-Null -foreach ($s in $sid) { - # Recupération du répertoire de l'utilisateur - $path = Get-ItemPropertyValue -Path "$profile_list$($s)\" -Name "ProfileImagePath" -ErrorAction SilentlyContinue - if ( -not $path -eq ""){ - try { - # Chargement de la ruche et supression du chemin - reg load "HKU\$($s)_classes" "$($path)\AppData\Local\Microsoft\Windows\UsrClass.dat" 2>&1 | Out-Null - Remove-Item -Path "HKU:\$($s)_Classes\$($dir)" -recurse - } - catch { - write-host "Can't remove for $s" - } - [gc]::collect() - Start-sleep -Seconds 2 - reg unload "HKU\$($s)" 2>&1 | Out-Null - } -} -Remove-PSDrive -Name HKU -``` - -Et voilà! - -[^n_defi]: enfin si je sais : c'est une application en Windev, ce qui en dit - beaucoup sur sa qualité générale...