Apr 26 2020 04:35 AM
Bonjour à toutes et tous.
Je suis débutant avec Powershell dans Windows 10. J'avais plutôt l'habitude des batch sous DOS
Le chemin d'accès des dossiers personnel est sujet à diverses modification d'emplacement. Chez moi ils sont tous dans le disque D: dans un dossier au nom de l'utilisateur.
D:\JC\Mes Documents, D:\JC\Mes Vidédos, D:\JC\Bureau, D:\JC\Ma Musique, etc...
Pour mon épouse c'est D:\Sylvie\Mes Documents, D:\Sylvie\Bureau, etc...
Idem pour mes enfants, etc...
Je cherche donc à récupérer dans une variable le chemin du Bureau en fonction de l'utilisateur qui utilise mes commandes Powershell
Exemple:
$MonBureau = 'D:\JC\Bureau'
systeminfo | Out-File $MonBureau\'Info_Système.txt'
Pour récupérer les info système dans un fichier texte du Bureau de JC $MonBureau .
Je ne sais pas où ni comment récupérer ce chemin du Bureau spécifique à chaque utilisateur dans ma variable.
Merci
A+
En batch DOS, je récupère le chemin dans la base de registre avec:
for /f "usebackq tokens=1,2,*" %%B IN (`reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) do set bureau=%%D
Apr 26 2020 06:41 AM
Pour faire suite,
La commande :
Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders' -Name desktop
Me donne 5 paramètres dont le 1er est celui que je cherche: Le chemin du Bureau de l'utilisateur.
J'ai pas encore trouvé comment le récupérer.
A+
Apr 26 2020 06:58 AM
SolutionRe-Bonjour à toutes et tous.
Bon j'ai trouvé ma solution.
Pour récupérer le chemin du dossier Bureau de l'utilisateur actif:
$MonBureau = Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders' -Name desktop |
select-object -ExpandProperty desktop
Merci aux contributeurs de ce forum chez qui j'ai "pompé et mixé" les différentes réponses à d'autres préoccupations.
A+
Jan 07 2023 08:35 AM
Bonjour tout le monde,
Le post date un peu, mais comme je suis tombé dessus et que d'autres pourraient le faire ....
Pour récupérer l'ensemble des répertoires spéciaux ....
[enum]::GetNames( [System.Environment+SpecialFolder] ) | Select @{ n="Name"; e={$_}}, @{ n="Path"; e={ [environment]::getfolderpath( $_ ) }}
donc pour le Bureau
[Environment]::GetFolderPath("Desktop")
Bien à vous.