Classe NetWork
WScript.CreateObject("WScript.Network") permet de récupérer une instance network qui donne accès à des méthodes permettant de partager des ressources (disques/imprimantes) mais aussi de connaître le domaine et le nom utilisateur réseau et pourquoi pas le nom de la machine.
Création d'une instance Network
Pour créer une instance Network,
Monter/démonter des ressources disques du réseau
Monter une ressource disque réseau sur la machine
Network.MapNetworkDrive
En entrée:
Lettre de lecteur à utiliser "E:", ...
Nom de la ressource réseau du type "\\serveur.disque.fr\nom_ressource_partagée"
suivi éventuellement des paramètres suivants:
Paramètre pour indiquer à true s'il faut sauver cette information dans le profil utilisateur, false sinon
Nom utilisateur
mot de passe utilisateur.
Ces deux paramètres étant utilisés si la ressource partagée à besoin des privilèges d'un utilisateur pour se connecter.
Exemple de syntaxe
oNetwork.MapNetworkDrive "w:", "\\serveur.a.moi\monPartage", true
Démonter une ressource disque réseau de la machine
La méthode RemoveNetworkDrive permet de retirer une ressource disque:
oNetwork.RemoveNetworkDrive "P:", False, True
Les deux derniers paramètres sont facultatifs.
En entrée:
- La lettre du lecteur correspondant à un disque réseau (si vous tentez de démonter un disque local, cela ne marchera pas !)
- Un paramètre indiquant à True que la ressource doit être démontée même si un fichier est en cours d'utilisation par une application sur cette ressource. A False par défaut si non précisé
- Le dernier paramètre à True indiquant que la suppression est définitive pour le profil courant. Sinon, à False, la ressource sera remontée lors de la prochaine connexion. A False par défaut si non précisé.
(Voir un exemple d'utilisation dans "Enumération des ressources diques réseau disponibles)
Enumération des ressources disques réseau disponibles
La méthode EnumNetworkDrives permet de retourner la liste des ressources disques réseau montées sur la machine.
Voici un exemple d'utilisation, Récupération de la liste des ressources et suppression de celles qui se nomme P: ou J:
Monter/démonter des imprimantes réseau
Monter des imprimantes
- Sous Windows
Monter une imprimante pour Windows se fera à l'aide de la méthode AddWindowsPrinterConnection
oNetwork.AddWindowsPrinterConnection "\\Server\imprimante"
Où "\\Server\imprimante" est ici le nom unc que je me donne pour mon imprimante ! Evidemment, cela dépendra du nom donné par l'administrateur du réseau !
Si quelqu'un utilise encore du Windows 9x, la méthode doit être complétée avec le nom de l'imprimante:
oNetwork.AddWindowsPrinterConnection "\\Server\imprimante", "HP LaserJet 5n"
- Sous DOS
Si quelqu'un en a encore besoin, pour rappel, le DOS utilise les ports LPT1: ou lpt2: pour imprimer. Par conséquant, les méthodes précédentes ne peuvent pas fonctionner !
La méthode devra être remplacée par :
oNetwork.AddPrinterConnection "LPT1:", "\\Server\imprimante"
On notera que l'on se contente de supprimer le mot Windows dans la méthode...Ils auraient peut être pu mettre Dos à la place !
Imprimante par défaut
La méthode pour déclarer une imprimante par défaut est SetDefaultPrinter, à laquelle vous passerez là aussi le nom unc de l'imprimante.
oNetwork.SetDefaultPrinter("\\Server\imprimante")
Bizarre, il ne semble pas y avoir de méthode pour récupérer l'imprimante par défaut...
Démonter une imprimante
Similaire à la méthode pour démonter une ressource disque, voici celle permetatnt de démonter une imprimante:
oNetwork.RemovePrinterConnection "\\server1\LaserJet", True, True
En paramètre:
- Le nom unc de l'imprimante à démonter
- Un paramètre indiquant à True que la ressource doit être démontée même si l'imprimante est en cours d'utilisation par une application. A False par défaut si non précisé
- Le dernier paramètre à True indiquant que la suppression est définitive pour le profil courant. Sinon, à False, la ressource sera remontée lors de la prochaine connexion. Positionné A False par défaut si non précisé.
Informations utilisateur/machine sur un réseau Microsoft
La propriété UserName permet de récupérer le nom utilisateur réseau.
ComputerName, le nom de l'ordinateur et
UserDomain le domaine
Ex.: