OVH Cloud OVH Cloud

Obtenir la liste des mappages réseau d'une machine distante ?

5 réponses
Avatar
Jo
Bonjour,

Je cherche à faire un script permettant de récupérer pour chaque machine du
domaine la liste des mappages réseau déclarés sur celles-ci, qu'ils soient
disques (donc effectués soit par la commande NET USE, soit par le menu
Connecter un Lecteur Réseau) ou imprimantes (réalisés par un NET USE d'un
port LPT ex: NET USE LPT5: \\monserveur\imp_partagée)?

Merci pour votre aide.

NB: Les stations du réseau sont W2K.

5 réponses

Avatar
Gilles LAURENT
"Jo" a écrit dans le message de
news:
| Bonjour,

Bonjour,

| Je cherche à faire un script permettant de récupérer pour chaque
| machine du domaine la liste des mappages réseau déclarés sur
| celles-ci, qu'ils soient disques (donc effectués soit par la commande
| NET USE, soit par le menu Connecter un Lecteur Réseau) ou imprimantes
| (réalisés par un NET USE d'un port LPT ex: NET USE LPT5:
| monserveurimp_partagée)?

Ci-dessous le script VBScript 'getMappedResources.vbs' permettant
d'afficher les ressources réseau connectées sur une machine distante.

+++ Usage :
>cscript getMappedResources.vbs CPT1 CPT2 CPT3 ...

-- Coupez ici : getMappedResources.vbs --

Option Explicit

' déclaration des variables
Dim oWMI, oResource
Dim colResources
Dim strComputer

' traitement des machines transmises par arguments
For Each strComputer In WScript.Arguments

' connexion à la machine distante
Set oWMI = GetObject ("winmgmts:" & _
"{impersonationLevel=impersonate}!" & _
strComputer & "rootcimv2")

' recherche des mappages réseau
Set colResources = oWMI.ExecQuery _
("Select * from Win32_NetworkConnection " & _
"Where ResourceType = 'Disk' " & _
"Or ResourceType = 'Print'")

' affichage des mappages réseau
WScript.Echo "Network resources on " & UCase (strComputer)
For Each oResource In colResources
WScript.Echo oResource.Name
Next
Next

-- Coupez ici : getMappedResources.vbs --

--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Avatar
Jo
Merci Gilles pour ta réponse.

Le script proposé fonctionne parfaitement en local mais sur des machines
distantes il ne retourne aucune infos. La collection colResources retournée
par ExecQuery semble vide?
Je dispose bien entendu des droits admin du domaine sur la machine executant
le script.

As tu une idée?

Merci



"Jo" a écrit dans le message de
news:
| Bonjour,

Bonjour,

| Je cherche à faire un script permettant de récupérer pour chaque
| machine du domaine la liste des mappages réseau déclarés sur
| celles-ci, qu'ils soient disques (donc effectués soit par la commande
| NET USE, soit par le menu Connecter un Lecteur Réseau) ou imprimantes
| (réalisés par un NET USE d'un port LPT ex: NET USE LPT5:
| monserveurimp_partagée)?

Ci-dessous le script VBScript 'getMappedResources.vbs' permettant
d'afficher les ressources réseau connectées sur une machine distante.

+++ Usage :
>cscript getMappedResources.vbs CPT1 CPT2 CPT3 ...

-- Coupez ici : getMappedResources.vbs --

Option Explicit

' déclaration des variables
Dim oWMI, oResource
Dim colResources
Dim strComputer

' traitement des machines transmises par arguments
For Each strComputer In WScript.Arguments

' connexion à la machine distante
Set oWMI = GetObject ("winmgmts:" & _
"{impersonationLevel=impersonate}!" & _
strComputer & "rootcimv2")

' recherche des mappages réseau
Set colResources = oWMI.ExecQuery _
("Select * from Win32_NetworkConnection " & _
"Where ResourceType = 'Disk' " & _
"Or ResourceType = 'Print'")

' affichage des mappages réseau
WScript.Echo "Network resources on " & UCase (strComputer)
For Each oResource In colResources
WScript.Echo oResource.Name
Next
Next

-- Coupez ici : getMappedResources.vbs --

--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD





Avatar
Gilles LAURENT
"Jo" a écrit dans le message de
news:

Bonsoir,

| Le script proposé fonctionne parfaitement en local mais sur des
| machines distantes il ne retourne aucune infos. La collection
| colResources retournée par ExecQuery semble vide?
| Je dispose bien entendu des droits admin du domaine sur la machine
| executant le script.

Le script proposé ne fonctionnera jamais à distance :-(
En effet, la liste est vide car la requête WMI, bien qu'elle soit
exécutée sur la machine distante, s'adresse à sa propre session (session
WMI) sur la machine distante et non à celle de l'utilisateur connecté
sur la machine distante (session interactive). Les mappages réseau étant
associés à la session utilisateur alors la liste retournée est vide. Une
exception toutefois : Si une session est ouverte sur la machine distante
avec le même compte de domaine que celui utilisé pour exécuter le script
alors la liste sera correctement retournée (Impersonation). En fait,
j'étais exactement dans ces conditions lors des tests réalisés et de ce
fait je suis passé complètement à coté du problème.

La nouvelle classe WMI Win32_MappedLogicalDisk disponible depuis Windows
XP permet de répondre en partie à ce besoin (à priori les mappages de
type Printer (LPTx) ne sont toutefois pas énumérés)

--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Avatar
Brat'ac
Jo a formulé ce mardi :
Bonjour,

Je cherche à faire un script permettant de récupérer pour chaque machine du
domaine la liste des mappages réseau déclarés sur celles-ci, qu'ils soient
disques (donc effectués soit par la commande NET USE, soit par le menu
Connecter un Lecteur Réseau) ou imprimantes (réalisés par un NET USE d'un
port LPT ex: NET USE LPT5: monserveurimp_partagée)?

Merci pour votre aide.

NB: Les stations du réseau sont W2K.


Bonjour,

Avant j'utilisais exporter de systemtools qui permet de faire en autre
ce genre de "récolte" c'était sur un domaine NT4 avec Stations en W2K.
(c'est gratuit et puissant)

http://www.systemtools.com/cgi-bin/download.pl?Exporter

GS

Avatar
Dagor
Bonsoir,

Encore une petite intrusion ;=))

Pour le local, moi j'ai ça, plus rapide à l'execution

Cordialement

Yves

"Gilles LAURENT" a écrit dans le message de news:
uzPtZY$
"Jo" a écrit dans le message de
news:
| Bonjour,

Bonjour,

| Je cherche à faire un script permettant de récupérer pour chaque
| machine du domaine la liste des mappages réseau déclarés sur
| celles-ci, qu'ils soient disques (donc effectués soit par la commande
| NET USE, soit par le menu Connecter un Lecteur Réseau) ou imprimantes
| (réalisés par un NET USE d'un port LPT ex: NET USE LPT5:
| monserveurimp_partagée)?

Ci-dessous le script VBScript 'getMappedResources.vbs' permettant
d'afficher les ressources réseau connectées sur une machine distante.

+++ Usage :
>cscript getMappedResources.vbs CPT1 CPT2 CPT3 ...

-- Coupez ici : getMappedResources.vbs --

Option Explicit

' déclaration des variables
Dim oWMI, oResource
Dim colResources
Dim strComputer

' traitement des machines transmises par arguments
For Each strComputer In WScript.Arguments

' connexion à la machine distante
Set oWMI = GetObject ("winmgmts:" & _
"{impersonationLevel=impersonate}!" & _
strComputer & "rootcimv2")

' recherche des mappages réseau
Set colResources = oWMI.ExecQuery _
("Select * from Win32_NetworkConnection " & _
"Where ResourceType = 'Disk' " & _
"Or ResourceType = 'Print'")

' affichage des mappages réseau
WScript.Echo "Network resources on " & UCase (strComputer)
For Each oResource In colResources
WScript.Echo oResource.Name
Next
Next

-- Coupez ici : getMappedResources.vbs --

--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD