Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Intitulés des icônes du poste de travail

17 réponses
Avatar
Fred
Bonjour,
Je souhaite modifier les intitulés des lecteurs réseaux dans le poste de
travail (windows 2000 pour l'instant)
Je ne trouve pas de solution en batch. ni en script avec les objets de base
(FileSystemObject ou Shell)
Voyez-vous une solution ?

PS : j'ai déjà posté sur windows2000 à ce sujet il y a quelques jours.

10 réponses

1 2
Avatar
Jacques Barathon [MS]
Sous XP tu peux changer le nom d'un lecteur réseau (et éventuellement
modifier son commentaire) après t'y être connecté. Il faut pour cela aller
tripatouiller dans la base de registre:

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2

Là, tu verras des clés au format ##serveur#partage. Dans celle qui
t'intéresse tu pourras modifier les valeurs _CommentFromDesktopINI et
surtout _LabelFromDesktopINI qui est celle qui reçoit par défaut le nom du
partage suivi du nom du serveur et de la lettre d'unité entre parenthèses.

Sous 2000 il doit exister une entrée sensiblement similaire, mais comme je
n'ai pas de 2000 sous la main il faudra que tu ailles voir par toi-même.

Jacques

"Fred" wrote in message
news:%
Bonjour,
Je souhaite modifier les intitulés des lecteurs réseaux dans le poste de
travail (windows 2000 pour l'instant)
Je ne trouve pas de solution en batch. ni en script avec les objets de
base
(FileSystemObject ou Shell)
Voyez-vous une solution ?

PS : j'ai déjà posté sur windows2000 à ce sujet il y a quelques jours.




Avatar
Fred
Merci beaucoup,
Je vais rechercher cela et ajouter la modification du registre dans mon
script.
(Je vais probablement devoir changer les droits sur cette clé car il me
semble que les Utilisateurs de base ne peuvent modifier les clés situées
dans cet emplacement. Il y a de la GPO en perspective !)


"Jacques Barathon [MS]" a écrit dans le
message de news:%23zH$b%
Sous XP tu peux changer le nom d'un lecteur réseau (et éventuellement
modifier son commentaire) après t'y être connecté. Il faut pour cela aller
tripatouiller dans la base de registre:

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2

Là, tu verras des clés au format ##serveur#partage. Dans celle qui
t'intéresse tu pourras modifier les valeurs _CommentFromDesktopINI et
surtout _LabelFromDesktopINI qui est celle qui reçoit par défaut le nom du
partage suivi du nom du serveur et de la lettre d'unité entre parenthèses.

Sous 2000 il doit exister une entrée sensiblement similaire, mais comme je
n'ai pas de 2000 sous la main il faudra que tu ailles voir par toi-même.

Jacques

"Fred" wrote in message
news:%
Bonjour,
Je souhaite modifier les intitulés des lecteurs réseaux dans le poste de
travail (windows 2000 pour l'instant)
Je ne trouve pas de solution en batch. ni en script avec les objets de
base
(FileSystemObject ou Shell)
Voyez-vous une solution ?

PS : j'ai déjà posté sur windows2000 à ce sujet il y a quelques jours.








Avatar
Fred
Bonjour,
Sous Windows 2000, j'ai trouvé la clé suivante :
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPointsE_Label
FromReg
Il y en a une pour chaque lecteur réseau (E pour l'exemple)
Sous cette clé, une valeur de type REG_BINARY intitulée Cache.
Cette valeur contient l'intitulé codé Unicode du nouveau nom du lecteur
lorsque l'on le renomme "manuellement"
Sinon, sous
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPointsE, on
trouve une valeur REG_BINARY intitulée _UB qui contient (toujours en
Unicode) le chemin d'accès réseau au partage connecté.
J'essaie de faire un script vbs, équivalent du NET USE, avec un paramètre
supplémentaire pour personnaliser l'intitulé du lecteur réseau dans le poste
de travail et je reviendrai le poster ici.



"Jacques Barathon [MS]" a écrit dans le
message de news:%23zH$b%
Sous XP tu peux changer le nom d'un lecteur réseau (et éventuellement
modifier son commentaire) après t'y être connecté. Il faut pour cela aller
tripatouiller dans la base de registre:

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2

Là, tu verras des clés au format ##serveur#partage. Dans celle qui
t'intéresse tu pourras modifier les valeurs _CommentFromDesktopINI et
surtout _LabelFromDesktopINI qui est celle qui reçoit par défaut le nom du
partage suivi du nom du serveur et de la lettre d'unité entre parenthèses.

Sous 2000 il doit exister une entrée sensiblement similaire, mais comme je
n'ai pas de 2000 sous la main il faudra que tu ailles voir par toi-même.

Jacques

"Fred" wrote in message
news:%
Bonjour,
Je souhaite modifier les intitulés des lecteurs réseaux dans le poste de
travail (windows 2000 pour l'instant)
Je ne trouve pas de solution en batch. ni en script avec les objets de
base
(FileSystemObject ou Shell)
Voyez-vous une solution ?

PS : j'ai déjà posté sur windows2000 à ce sujet il y a quelques jours.








Avatar
Fred
Précision,
Si on modifie le nom dans la valeur Cache, il faut incrémenter le nombre
dans la clé Version (au même endroit) pour que l'affichage soit mis à jour
dans le poste de travail.

"Fred" a écrit dans le message de
news:%23l1A3$
Bonjour,
Sous Windows 2000, j'ai trouvé la clé suivante :

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPointsE_Label

FromReg
Il y en a une pour chaque lecteur réseau (E pour l'exemple)
Sous cette clé, une valeur de type REG_BINARY intitulée Cache.
Cette valeur contient l'intitulé codé Unicode du nouveau nom du lecteur
lorsque l'on le renomme "manuellement"
Sinon, sous
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPointsE, on
trouve une valeur REG_BINARY intitulée _UB qui contient (toujours en
Unicode) le chemin d'accès réseau au partage connecté.
J'essaie de faire un script vbs, équivalent du NET USE, avec un paramètre
supplémentaire pour personnaliser l'intitulé du lecteur réseau dans le
poste

de travail et je reviendrai le poster ici.



"Jacques Barathon [MS]" a écrit dans le
message de news:%23zH$b%
Sous XP tu peux changer le nom d'un lecteur réseau (et éventuellement
modifier son commentaire) après t'y être connecté. Il faut pour cela
aller


tripatouiller dans la base de registre:

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2

Là, tu verras des clés au format ##serveur#partage. Dans celle qui
t'intéresse tu pourras modifier les valeurs _CommentFromDesktopINI et
surtout _LabelFromDesktopINI qui est celle qui reçoit par défaut le nom
du


partage suivi du nom du serveur et de la lettre d'unité entre
parenthèses.



Sous 2000 il doit exister une entrée sensiblement similaire, mais comme
je


n'ai pas de 2000 sous la main il faudra que tu ailles voir par toi-même.

Jacques

"Fred" wrote in message
news:%
Bonjour,
Je souhaite modifier les intitulés des lecteurs réseaux dans le poste
de



travail (windows 2000 pour l'instant)
Je ne trouve pas de solution en batch. ni en script avec les objets de
base
(FileSystemObject ou Shell)
Voyez-vous une solution ?

PS : j'ai déjà posté sur windows2000 à ce sujet il y a quelques jours.












Avatar
Fred
Voilà un bout de script qui fonctionne mais qui ne me paraît pas très
propre.
Si quelqu'un à des idées pour améliorer les points suivants :
- la méthode RegWrite ne permet pas d'écrire des données REG_BINARY de plus
d'une valeur. J'ai donc laissé une chaîne de caractères et cela marche comme
cela.
- je ne sais pas tester l'existence d'une clé ou d'une valeur. RegRead
retourne une erreur donc je boucle jusqu'à ce qu'il n'y ait plus d'erreur
(temps de mise à jour de la BDR par l'instruction MapNetworkDrive)

Set objArgs = WScript.Arguments
sDrive = objArgs(0)
sPath = objArgs(1)
sLabel = objArgs(2)
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive sDrive & ":", sPath

Set WshShell = WScript.CreateObject("WScript.Shell")
on error resume next
Version = 0
do
Version WshShell.RegRead("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersio
nExplorerMountPoints" & sDrive & "_LabelFromRegVersion")
loop while Version = 0

WshShell.RegWrite
"HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints" &
sDrive & "_LabelFromRegCache", sLabel
WshShell.RegWrite
"HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints" &
sDrive & "_LabelFromRegVersion", Version + 1, "REG_BINARY"



"Fred" a écrit dans le message de
news:%
Précision,
Si on modifie le nom dans la valeur Cache, il faut incrémenter le nombre
dans la clé Version (au même endroit) pour que l'affichage soit mis à
jour

dans le poste de travail.

"Fred" a écrit dans le message de
news:%23l1A3$
Bonjour,
Sous Windows 2000, j'ai trouvé la clé suivante :



HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPointsE_Label

FromReg
Il y en a une pour chaque lecteur réseau (E pour l'exemple)
Sous cette clé, une valeur de type REG_BINARY intitulée Cache.
Cette valeur contient l'intitulé codé Unicode du nouveau nom du lecteur
lorsque l'on le renomme "manuellement"
Sinon, sous
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPointsE,
on


trouve une valeur REG_BINARY intitulée _UB qui contient (toujours en
Unicode) le chemin d'accès réseau au partage connecté.
J'essaie de faire un script vbs, équivalent du NET USE, avec un
paramètre


supplémentaire pour personnaliser l'intitulé du lecteur réseau dans le
poste

de travail et je reviendrai le poster ici.



"Jacques Barathon [MS]" a écrit dans le
message de news:%23zH$b%
Sous XP tu peux changer le nom d'un lecteur réseau (et éventuellement
modifier son commentaire) après t'y être connecté. Il faut pour cela
aller


tripatouiller dans la base de registre:

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2

Là, tu verras des clés au format ##serveur#partage. Dans celle qui
t'intéresse tu pourras modifier les valeurs _CommentFromDesktopINI et
surtout _LabelFromDesktopINI qui est celle qui reçoit par défaut le
nom



du
partage suivi du nom du serveur et de la lettre d'unité entre
parenthèses.



Sous 2000 il doit exister une entrée sensiblement similaire, mais
comme



je
n'ai pas de 2000 sous la main il faudra que tu ailles voir par
toi-même.




Jacques

"Fred" wrote in message
news:%
Bonjour,
Je souhaite modifier les intitulés des lecteurs réseaux dans le
poste




de
travail (windows 2000 pour l'instant)
Je ne trouve pas de solution en batch. ni en script avec les objets
de




base
(FileSystemObject ou Shell)
Voyez-vous une solution ?

PS : j'ai déjà posté sur windows2000 à ce sujet il y a quelques
jours.




















Avatar
scraper
Bonjour Fred
(dans news:uz0$)
tu nous disais :

Voilà un bout de script qui fonctionne mais qui ne me paraît pas très
propre.
Si quelqu'un à des idées pour améliorer les points suivants :
- la méthode RegWrite ne permet pas d'écrire des données REG_BINARY
de plus d'une valeur. J'ai donc laissé une chaîne de caractères et
cela marche comme cela.


si tu veux passer une valeur précise en binaire, tu as la solution d'écrire
un fichier *.reg avec ladite valeur, par ton script, puis de fusionner le
reg par script :-)

- je ne sais pas tester l'existence d'une clé ou d'une valeur. RegRead
retourne une erreur donc je boucle jusqu'à ce qu'il n'y ait plus
d'erreur (temps de mise à jour de la BDR par l'instruction
MapNetworkDrive)


attention peut être à une boucle infinie qui te forcera à killer ton process
si ta mise à jour est pas effectuée !




--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper

Avatar
Fred
Bonjour Scraper,
merci pour tes suggestions.
Je vais générer le fichier .reg en fonction du paramètre saisi dur la ligne
de commande. Ce sera plus propre.
Pour la boucle, j'avais pensé initialement faire une petite tempo de 1 ou 2
secondes. Je vais revenir à cette idée.

"scraper" a écrit dans le message de news:

Bonjour Fred
(dans news:uz0$)
tu nous disais :

Voilà un bout de script qui fonctionne mais qui ne me paraît pas très
propre.
Si quelqu'un à des idées pour améliorer les points suivants :
- la méthode RegWrite ne permet pas d'écrire des données REG_BINARY
de plus d'une valeur. J'ai donc laissé une chaîne de caractères et
cela marche comme cela.


si tu veux passer une valeur précise en binaire, tu as la solution
d'écrire
un fichier *.reg avec ladite valeur, par ton script, puis de fusionner le
reg par script :-)

- je ne sais pas tester l'existence d'une clé ou d'une valeur. RegRead
retourne une erreur donc je boucle jusqu'à ce qu'il n'y ait plus
d'erreur (temps de mise à jour de la BDR par l'instruction
MapNetworkDrive)


attention peut être à une boucle infinie qui te forcera à killer ton
process
si ta mise à jour est pas effectuée !




--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper





Avatar
Jean-Claude BELLAMY
Dans le message news:uz0$ ,
Fred s'est ainsi exprimé:

Voilà un bout de script qui fonctionne mais qui ne me paraît pas très
propre.
Si quelqu'un à des idées pour améliorer les points suivants :
- la méthode RegWrite ne permet pas d'écrire des données REG_BINARY
de plus d'une valeur.


Il faut laisser tomber ces méthodes de la classe Shell de WSH!
Elle est beaucoup trop limitée.

Il faut faire appel au contraire à StdRegProv (de WMI), qui autorise
absolument tout au niveau BDR (lecture/écriture totu type, énumération de
clef et de valeurs, test de permissions, ...).

En particulier la méthode "SetBinaryValue", qui permet, comme son nom
l'indique, de définir n'importe quelle valeur binaire, de n'importe quelle
longueur.


Exemple :
---------

const HKLM = &H80000002
Const REG_BINARY = 3
Tab= array( _
&H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, _
&H03, &H00, &H00, &H00, &H38, &H00, &H1d, &H00, _
&H38, &H00, &H1d, &He0, &H00, &H00, &H00, &H00)

strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!" & _
strComputer & "rootdefault:StdRegProv")

KeyName="SYSTEMCurrentControlSetControlKeyboard Layout"
ValueName="Scancode Map"
oReg.SetBinaryValue HKLM, KeyName,ValueName,Tab


Pour tout savoir sur "StdRegProv" :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/stdregprov.asp
En particulier sur "SetBinaryValue" :
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/setbinaryvalue_method_in_class_stdregprov.asp


J'ai donc laissé une chaîne de caractères et
cela marche comme cela.

- je ne sais pas tester l'existence d'une clé ou d'une valeur.


Il suffit de
1) intercepter les erreurs par un "On error resume next" (comme tu l'as
fait)
2) tester la variable "err.number" (ou "err" tout court, vu que "number" est
la propriété par défaut de err)!

Exemple :

Function ReadKey(key)
On Error Resume Next
ReadKey=shell.RegRead(key)
If Err.Number<>0 Then
If right(key,1)<>"" Then key=key & ""
Err.Clear
ReadKey=shell.RegRead(key)
If Err.Number<>0 Then Wscript.Echo "Erreur dans la lecture de la clef" &
vbcrlf & key
End If
end function


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *


Avatar
scraper
Bonjour Fred, dans le message
news://
tu disais :


Bonjour Scraper,
merci pour tes suggestions.
Je vais générer le fichier .reg en fonction du paramètre saisi dur la
ligne de commande. Ce sera plus propre.
Pour la boucle, j'avais pensé initialement faire une petite tempo de
1 ou 2 secondes. Je vais revenir à cette idée.


tu peux inclure une tempo dans ta boucle, et un comptage ...

tu mets ensuite une condition du genre

If n > 5 Then Exit Do

juste avant le Loop While ...etc ...

où n est ta variable de comptage




--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper

Avatar
Fred
Bonsoir,
Je vais me mettre au script WMI avec le scriptomatic pour commencer.
J'ai vu également un utilitaire regini.exe qui peut faire cela.
Mais l'ensemble de mon problème ne peut être résolu en batch donc je vais
utiliser ta méthode.


"Jean-Claude BELLAMY" a écrit dans le
message de news: %
Dans le message news:uz0$ ,
Fred s'est ainsi exprimé:

Voilà un bout de script qui fonctionne mais qui ne me paraît pas très
propre.
Si quelqu'un à des idées pour améliorer les points suivants :
- la méthode RegWrite ne permet pas d'écrire des données REG_BINARY
de plus d'une valeur.


Il faut laisser tomber ces méthodes de la classe Shell de WSH!
Elle est beaucoup trop limitée.

Il faut faire appel au contraire à StdRegProv (de WMI), qui autorise
absolument tout au niveau BDR (lecture/écriture totu type, énumération de
clef et de valeurs, test de permissions, ...).

En particulier la méthode "SetBinaryValue", qui permet, comme son nom
l'indique, de définir n'importe quelle valeur binaire, de n'importe quelle
longueur.


Exemple :
---------

const HKLM = &H80000002
Const REG_BINARY = 3
Tab= array( _
&H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, _
&H03, &H00, &H00, &H00, &H38, &H00, &H1d, &H00, _
&H38, &H00, &H1d, &He0, &H00, &H00, &H00, &H00)

strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!" & _
strComputer & "rootdefault:StdRegProv")

KeyName="SYSTEMCurrentControlSetControlKeyboard Layout"
ValueName="Scancode Map"
oReg.SetBinaryValue HKLM, KeyName,ValueName,Tab


Pour tout savoir sur "StdRegProv" :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/stdregprov.asp
En particulier sur "SetBinaryValue" :
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/setbinaryvalue_method_in_class_stdregprov.asp


J'ai donc laissé une chaîne de caractères et
cela marche comme cela.

- je ne sais pas tester l'existence d'une clé ou d'une valeur.


Il suffit de
1) intercepter les erreurs par un "On error resume next" (comme tu l'as
fait)
2) tester la variable "err.number" (ou "err" tout court, vu que "number"
est la propriété par défaut de err)!

Exemple :

Function ReadKey(key)
On Error Resume Next
ReadKey=shell.RegRead(key)
If Err.Number<>0 Then
If right(key,1)<>"" Then key=key & ""
Err.Clear
ReadKey=shell.RegRead(key)
If Err.Number<>0 Then Wscript.Echo "Erreur dans la lecture de la clef"
& vbcrlf & key
End If
end function


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *






1 2