IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

partage de dossier


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Par défaut partage de dossier
    bonjour,

    je suis a la recherche d'un script pour partager des dossiers.
    j'ai une centaines de dossier dans un repertoire, chaque dossier a comme nom, le nom d'utilisateur du propiétaire. ce propriétaire est inscrit dans l'ad.
    je cherche un script qui puisse me partager tous ces dossiers avec comme autorisation de partage l'autorisation pour le propriétaire du dossier.

    par exemple si j'ai un dossier nommé "jdupont" je veux que le script me partage ce dossier avec pour autorisation du partage jdupont en lecture et ecriture.
    et ca pour tous le repertoire contenant mes dossiers à partager.

    je sais pas si c'est trop clair mais je seche!!

    merci de votre aide

  2. #2
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Salut,

    voici ce que je propose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Set w=CreateObject("WScript.Shell")
     
    Set ObjFso = CreateObject("Scripting.FileSystemObject")
     
    pathl = Len(WScript.ScriptFullName) - Len(WScript.ScriptName)
    Scriptpath = Mid(WScript.ScriptFullName, 1, pathl)
     
    DirF = ScriptPath & "Dir.txt"
    IF ObjFso.FileExists(DirF) Then
       ObjFso.DeleteFile(DirF)
    End If
     
    S=B("Choisissez un dossier")
     
    If IsNull(S) Then 
       MsgBox "Sélection invalide"
    Else
       go=w.run("cmd.exe /c dir """ & S & "\*."" /-B /AD > """ & DirF & """", 0, true)
     
       Set tso = ObjFso.OpenTextFile(DirF,1)
       while not tso.AtEndOfStream
             StrTemp = tso.readline
     
             VVal0 = InStrRev(StrTemp, "\")
             NomUsr = Mid(StrTemp, VVal0 + 1, Len(StrTemp) - VVal0)
     
             Commande = "Net Share " & Chr(34) & S & "\" & NomUsr & Chr(34) & "=" & StrTemp
             go=w.run(Commande)
             Commande = "Cacls " & Chr(34) & S & "\" & StrTemp &  Chr(34) &"  /t /c /g " & NomUsr & ":c"
             go=w.run(Commande)
       Wend
     
       tso.close
     
    End If
     
    IF ObjFso.FileExists(DirF) Then
       ObjFso.DeleteFile(DirF)
    End If
     
     
    Function B(Msg)
    	On Error Resume Next
    	Dim a,f,i,w
    	Set a=WScript.CreateObject("Shell.Application")
     
    	Set f=a.BrowseForFolder(&H0&,Msg,&h1&)
    	B=f.ParentFolder.ParseName(f.Title).Path
     
    	If Err.Number<>0 Then
    		B=Null
    		If f.Title="Desktop" Then B=w.SpecialFolders("Desktop")
    		i=InStr(f.Title, ":")
    		If i>0 Then B=Mid(f.Title,i-1,2) & "\"
    	End If
    End Function
    On ne devrait pas être bien loin de ce que tu recherches...
    Note pour CED600 : t'as vu les CMD, tu vas encore me dire que c'est de la bidouille...... ...

    A++

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Par défaut
    merci bcp pour ce script, je viens de tester at ca me parait une bonne piste (suf le partage qui ne fonctionne pas)
    par contre, etant une bille en vbscript serait'il possible que vous detailliez les différentes etapes du script.

    merci encore une fois ca va bien m'aider

  4. #4
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    C'est pas très compliqué, tu récuperes la directory dans laquelle se trouvent tes partages. Un fichier .Txt est généré.
    Tu lis ce fichier .TXT ligne à ligne et tu envoie le commande Dos "net share" pour partager (c'est ici que le problème intervient, j'ai testé avec un XP les autorisations par défaut sont tout le monde en controle total et mon collègue me dis que sur un 2003 les autorisations se comportent différemment). Donc c'est dans cette commande "net share" qui demande à être adaptée pour les permissions en 2003.
    Après le "net share", tu envoies une seconde commande "Cacls" ou tu attribues les droits "c" (pour change) à ton utilisateur.
    La fonction en fin de pgm sert à gérer ta fenetre de selection de répertoire qui est lancée au début du pgm.

    A la reflexion, tu peux essayer de remplacer "net share...." par "Cmd /c Net Share...." et "Cacls..." par "Cmd /c Cacls....", ca a une chance de passer.

    Voilà, bon courage.

    A++

  5. #5
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Par défaut
    grand merci pour ces explications!!

    avec toutes ces infos si j'arrive pas...

    merci encore pour ces reponses rapides, claires, et bien expliquées!!
    chapo

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Je suis sur que tu viens du monde linux

    Un script shell, un aggragat de commande shell, une redirection de la sortie dans un fichier, et une regexp pour recherché le motif voulu dans le fichier texte, non ?

    Enfin c'est tellement peu couteux en ressource, les commande en CMD sont efficaces, donc c'est viable.

    Mais je ne suis pas sur que tu pourras le même genre de chose sous vista

    "Vista : la chute de l'empire Microsoft"

    Quand même pas, mais si MS ne sort pas son longhorn (je suppose qu'il changera de nom) Ils vont perdre des parts de marché sur les SE

    Enfin de toute façon ils ont .Net qui a rendu tellement heureux les dev en VB6 convertis de fore en VB.net

  7. #7
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Je suis sur que tu viens du monde linux
    Hé ben non c'est raté, par contre j'ai un bon paquet d'année sur AS/400 mais c'est une philosophie identique.

    Allez, "seton lr" comme on dit en RPG.

Discussions similaires

  1. Partage de dossier en ligne
    Par cyberderf dans le forum Administration
    Réponses: 10
    Dernier message: 27/02/2006, 20h15
  2. [Débutant]Comment partager un dossier et limiter son accès
    Par digital prophecy dans le forum Windows XP
    Réponses: 4
    Dernier message: 20/01/2006, 15h44
  3. [LAN] Partage du dossier Windows
    Par daladim dans le forum Administration
    Réponses: 7
    Dernier message: 12/11/2005, 15h07
  4. Partage de dossier
    Par black is beautiful dans le forum Windows
    Réponses: 5
    Dernier message: 12/10/2005, 14h06
  5. partager un dossier
    Par philippe123 dans le forum ASP
    Réponses: 6
    Dernier message: 25/01/2005, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo