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

Lister les sous dossier d'un dossier partagé sur le réseau

2 réponses
Avatar
Julius
Bonjour,

je cherche à lister les sous dossiers d'un répertoire partagé sur le réseau
(de type: \\monserveur\mondossier) avec un petit script VBS.

j'ai exploré la piste FileSystemObject, mais elle ne fonctionne qu'en local :

Sub ListeLesDossiers(dossier)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(dossier)
Set colSubFolder = objFolder.Subfolders
dim objSubFolder

Chaine = Chaine & "Parcours de : " & dossier & chr(13)
for each objSubFolder in colSubFolder
Chaine = Chaine & objSubFolder.name & chr(13)
Next
Msgbox(chaine)
End Sub

Fonctionne bien si je passe en paramètre, par exempe "D:\temp", mais pas
"\\SRV001\PARTAGE"


j'ai exploré WMI, mais j'ai un message d'erreur

Sub ListeDossier(strComputer,dossier)

dim objFolder
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, _
"root\cimv2", _
"mondomaine\administrateur", _
"*****", _
"MS_409", _
"ntlmdomain:" + mondomaine)

Set colSubfolders = objSWbemServices.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='\\SRV001\PARTAGE'} " _
& "Where AssocClass = Win32_Subdirectory " _
& "ResultRole = PartComponent")

For Each objFolder in colSubfolders
Chaine = Chaine & " " & objFolder.Name & chr(13)
Next
End Sub

(bon, pour l'instant, je ne me sert pas des variables passées en paramètres,
j'ai mis le nom du dossier en dur. Je changerai ça si je trouve une solution
à mon problème !!!)

Quelqu'un a déjà essayé de fiare ça ?
Avez vous réussi, ou avez vous des pistes ?

merci pour votre aide ... !

Julien

2 réponses

Avatar
Lotre
Bonsoir,

Je suis très surpris !!!

J'utilise en production plusieurs VBS pour des scripts de GPO
et, certains accèdent à des partages
pour y écrire, y créer si nécessaire des ss-répertoires, etc...
Bon, je n'ai peut être jamais utilisé la méthode Subfolders
du FSO
( je suis chez moi...) ......

Quoi qu'il en soit, ceci fonctionne :

Chemin = "SRV001PARTAGE"

Set SHW = Wscript.CreateObject(_
"shell.application")

Set oFolder = SHW.NameSpace(Chemin)
Set oFolderItems = oFolder.Items()
Msg = "Sous dossiers de " & Chemin
Msg = Msg & VbCrLf & _
" "
For each oFolderItem in oFolderItems
If oFolderItem.IsFolder Then
Msg = Msg & VBCRLF & _
oFolderItem.Name & " : " _
& oFolderItem.Path
End If
Next

Msg = Msg & VbCrLf & " "

Msgbox Msg

HB
Avatar
Méta-MCI (MVP)
Bonsoir !

Est-ce qu'un :
DIR /A:D monserveurmondossier
ne suffirait pas ?

--
@-salutations
--
Michel Claveau