Question

J'essaie d'obtenir une liste de tous mes lecteurs mappés pour une mise à niveau du système et j'aimerais obtenir ces informations via un fichier de commandes. Comment puis-je faire ceci?

Pour les points bonus: Comment puis-je écrire le mappage de ces lecteurs sur le nouveau serveur?

Était-ce utile?

La solution

La liste des mappages actuels sera renvoyée par

net use

Le transfert fonctionnerait comme ceci (pour le plaisir 1 , réalisons cela dans un script batch au lieu de VBScript):

@echo off

setlocal EnableDelayedExpansion

set letter=.
set uncpath=.
set colon=.

for /f "delims=" %%l in ('net use') do @(
  for /f "tokens=2" %%t in ("%%l") do @set letter=%%t
  for /f "tokens=3" %%t in ("%%l") do @set uncpath=%%t

  set colon=!letter:~1,1!

  if "!colon!" EQU ":" (
    echo if exist !letter! net use !letter! /delete
    echo net use !letter! !uncpath! /persistent:yes
  )
)

endlocal

la sortie ressemble à ceci:

if exist M: net use M: /delete
net use M: \\someserver\someshare /persistent:yes
if exist N: net use N: /delete
net use N: \\otherserver\othershare /persistent:yes

Il suffit de stocker cela dans un fichier de commandes et vous êtes prêt à partir.

1 En fait, "amusant". n'est pas le mot juste ici. ; -)

Autres conseils

Pour répertorier les lecteurs mappés

Net Use

Pour mapper un nouveau lecteur

Net Use G: \\Server\Path

Vous pouvez le faire en utilisant vbscript

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colDrives = objFSO.Drives

For Each objDrive in colDrives
    Wscript.Echo "Drive letter: " & objDrive.DriveLetter
Next

Et vous pouvez mapper les lecteurs réseau avec

Set objNetwork = CreateObject("WScript.Network") 
objNetwork.MapNetworkDrive "G:", "\\Server\Path"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top