Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2909 connectés 

  FORUM HardWare.fr
  Windows & Software

  scripting

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

scripting

n°1566885
francis73
le désordre génère l'ordre
Posté le 14-05-2004 à 09:26:05  profilanswer
 

Citation :

salut
y aurais t-il quelqu'un qui pourrais me dire comment créer des partages reseau en scripting? en fait il me faut supprimer les presents et en refaire d'autres, mais en une seule fois (execution du script et qu'il reste actif tout seul)
merci :pt1cable:  
 

mood
Publicité
Posté le 14-05-2004 à 09:26:05  profilanswer
 

n°1567388
KenShInouU
Aku Zoku Zan
Posté le 14-05-2004 à 14:17:43  profilanswer
 

ouvre une fenêtre ms-dos et tape "net help use" :D

n°1567676
francis73
le désordre génère l'ordre
Posté le 14-05-2004 à 16:30:36  profilanswer
 

heu j'ai du mal me faire comprendre, donc je rééxplique:
je sais faire des partages en batch, la n'est pas la question, ce que je veux faire, c'est des partages en vbscripting!!!
et la JE N'Y ARRIVE PAS  :cry:  
 
 

KenShInouU a écrit :

ouvre une fenêtre ms-dos et tape "net help use" :D



---------------
L'ordre génère le désordre et le désordre génère l'ordre.
n°1567689
KenShInouU
Aku Zoku Zan
Posté le 14-05-2004 à 16:35:23  profilanswer
 

si c'est le même vbs auquel je pense ya une jolie commande qui s'appelle "MapDrive"  :lol:  :lol:  :lol:

n°1567724
francis73
le désordre génère l'ordre
Posté le 14-05-2004 à 16:54:31  profilanswer
 

KenShInouU a écrit :

si c'est le même vbs auquel je pense ya une jolie commande qui s'appelle "MapDrive"  :lol:  :lol:  :lol:


 
et t'aurais pas une petite ligne pour que je vois si tu pense comme moi? :heink:


---------------
L'ordre génère le désordre et le désordre génère l'ordre.
n°1567760
Requin
Posté le 14-05-2004 à 17:11:41  profilanswer
 

Je suis trop bon...
 

Code :
  1. Option Explicit
  2. On Error Resume Next
  3. Dim wshNetwork, wshShell, wshSysEnv, colDrives, nReturnCode
  4. Dim i, j
  5. Dim aryDrives, aryShares, strUser
  6. Dim colPrinters, aryPrinters
  7. Dim BS
  8. BS = Chr(92) ' Set a backslash (\)
  9. Set wshNetwork = WScript.CreateObject("WScript.Network" )
  10. Set wshShell = WScript.CreateObject("WScript.Shell" )
  11. Set wshSysEnv = wshShell.Environment("SYSTEM" )
  12. strUser = wshShell.ExpandEnvironmentStrings("%USERNAME%" )
  13. ' Those array are linked, using two 1-dim arrays instead of one 2-dim array
  14. aryDrives = Array("F:", "M:", "O:", "U:" )
  15. aryShares = Array("\\totosrv1\metro$", _
  16.                   "\\totosrv1\toto$\" & strUser & "\mes documents", _
  17.                   "\\totosrv1\toto$\" & strUser & "\outlook", _
  18.                   "\\totosrv1\toto$" )
  19. aryPrinters = Array("\\totosrv1\infoprint", _
  20.                     "\\totosrv1\bobcolpt1-p", _
  21.                     "\\totosrv1\bobcolpt1-l", _
  22.                     "\\totosrv1\bobcobac-l" )
  23. If (wshSysEnv("OS" ) = "Windows_NT" ) Then
  24.  
  25.    ' Connect drives
  26.    Set colDrives = wshNetwork.EnumNetworkDrives
  27.    For i = 0 To colDrives.Count - 1 Step 2
  28.       ' Disconnect previous connections
  29.       For j = LBound(aryDrives) To UBound(aryDrives)
  30.          If (colDrives(i) = aryDrives(j)) Then
  31.             wshNetwork.RemoveNetworkDrive aryDrives(j)
  32.          End If
  33.       Next
  34.    Next
  35.    ' Map new drive
  36.    If UBound(aryDrives) = UBound(aryShares) Then
  37.       For i = Lbound(aryDrives) To UBound(aryDrives)
  38.          wshNetwork.MapNetworkDrive aryDrives(i), aryShares(i)
  39.       Next
  40.    Else
  41.       MsgBox "Error into connexion's script, aryShares and arryDrives aren't of the same size !"
  42.    End If
  43.    
  44.    ' Connect printers
  45.    Set colPrinters = wshNetwork.EnumPrinterConnections
  46.    For i = 0 To colPrinters.Count - 1 Step 2
  47.       ' Disconnect already connected printers
  48.       For j = LBound(aryPrinters) To UBound(aryPrinters)
  49.          If (colPrinters(i) = aryPrinters(j)) Then
  50.             wshNetwork.RemovePrinterConnection aryPrinters(j)
  51.          End If
  52.       Next
  53.    Next
  54.    For j = LBound(aryPrinters) To UBound(aryPrinters)
  55.       wshNetwork.AddWindowsPrinterConnection aryPrinters(j)
  56.    Next
  57. Else
  58.    WScript.Echo "This WSH logon script supports only Windows NT/2000/XP/2003." & vbNewLine &_
  59.                 "Exiting..."
  60.    Set wshNetwork = Nothing
  61.    Set wshShell = Nothing
  62.    WScript.Quit(1)
  63. End If
  64. Set wshNetwork = Nothing
  65. Set wshShell = Nothing
  66. WScript.Quit(nReturnCode)


 
Pour la doc voir le site :
http://msdn.microsoft.com/scripting

n°1567770
francis73
le désordre génère l'ordre
Posté le 14-05-2004 à 17:16:44  profilanswer
 

merci j'essaye de le comprendre et je te tiens au courant ;0)


---------------
L'ordre génère le désordre et le désordre génère l'ordre.
n°1567845
francis73
le désordre génère l'ordre
Posté le 14-05-2004 à 18:07:21  profilanswer
 

ca marche  :bounce:   :bounce:   :bounce:  
mais tu vas dire que je suis chiant, mais mes partages je l'ai vois apparaitre,....., et disparaitre :cry:  
je sais que j'abuse la, mais ca fait 2 jours que je suis dessus, et la j'en ai un peu ras le :pt1cable:  
si ta la reponse  :hello:


---------------
L'ordre génère le désordre et le désordre génère l'ordre.
n°1567849
Requin
Posté le 14-05-2004 à 18:11:35  profilanswer
 

Ce n'est a priori pas lié au script puisque ce dernier fonctionne sur plusieurs réseaux 2000 et 2003...
 
Essaie le mapping manuel pour voir si ton partage est viré...

n°1567860
francis73
le désordre génère l'ordre
Posté le 14-05-2004 à 18:18:39  profilanswer
 

les partages sont ok, en manuel il sont bien la, mais je ne remet pas en cause ton script c'est juste que le seul partage a rester c'est le dernier, genre il fait une boucle et il vire ceux qu'il a crèer au dèbut, je sais , c'est le principe meme du script, mais comment faire pour que la boucle se fasse juste au dessous des delete.....


---------------
L'ordre génère le désordre et le désordre génère l'ordre.
mood
Publicité
Posté le 14-05-2004 à 18:18:39  profilanswer
 

n°1567879
ShonGail
En phase de calmitude ...
Posté le 14-05-2004 à 18:27:43  profilanswer
 

Quel est l'interêt de faire ses mapages en VBS et non en batch DOS ?

n°1567925
Requin
Posté le 14-05-2004 à 18:56:32  profilanswer
 

Bcp plus rapide au niveau de l'exécution !
 
Et surtout bcp plus flexible... tu as toutes les structures de programmations habituelles (sélections conditionnelles, boucles, fonctions, ...)
 
Par exemple tente de connecter et définir une imprimante réseau par défaut en fonction du groupe d'appartenance dans Active Directory d'un utilisateur à l'aide d'un batch ;)

n°1567978
francis73
le désordre génère l'ordre
Posté le 14-05-2004 à 19:34:44  profilanswer
 

a propos de boucle ta pas une idée requin pour ma boucle qui supprime mes partages ausitôt créé ???
je met un exemple de mon script, dite moi ou je me plante, car il fonctionne trop bien pour supprimer les partages déjas existant, mais ensuite je veux qu'il les gardes :??:  
[citation]
  Option Explicit
  On Error Resume Next
 
  Dim wshNetwork, wshShell, wshSysEnv, colDrives, nReturnCode
  Dim i, j
  Dim aryDrives, aryShares, strUser
 
  Dim BS
  BS = Chr(92) ' Set a backslash (\)
 
  Set wshNetwork = WScript.CreateObject("WScript.Network" )
  Set wshShell = WScript.CreateObject("WScript.Shell" )
  Set wshSysEnv = wshShell.Environment("SYSTEM" )
  strUser = wshShell.ExpandEnvironmentStrings("%USERNAME%" )
 
  ' Those array are linked, using two 1-dim arrays instead of one 2-dim array
  aryDrives = Array("U:", "P:", "S:", "M:","V:" )
  aryShares = Array("\\serveur\partage1", _
                    "\\serveur\partage2", _
                    "\\serveur\partage3", _
                    "\\serveur\partage4", _
                    "\\serveur\partage5" )
 
  If (wshSysEnv("OS" ) = "Windows_NT" ) Then
 
     ' Connect drives
     Set colDrives = wshNetwork.EnumNetworkDrives
     For i = 0 To colDrives.Count - 1 Step 2
        ' Disconnect previous connections
        For j = LBound(aryDrives) To UBound(aryDrives)
           If (colDrives(i) = aryDrives(j)) Then
              wshNetwork.RemoveNetworkDrive aryDrives(j)
           End If
        Next
     Next
     ' Map new drive
     If UBound(aryDrives) = UBound(aryShares) Then
        For i = Lbound(aryDrives) To UBound(aryDrives)
           wshNetwork.MapNetworkDrive aryDrives(i), aryShares(i)
        Next
     Else
        MsgBox "Error into connexion's script, aryShares and arryDrives aren't of the same size !"
     End If
     Set wshNetwork = Nothing
     Set wshShell = Nothing
     WScript.Quit(1)
  End If
 
  Set wshNetwork = Nothing
  Set wshShell = Nothing
[/citation]


---------------
L'ordre génère le désordre et le désordre génère l'ordre.
n°1567989
Requin
Posté le 14-05-2004 à 19:40:46  profilanswer
 

Code :
  1. wshNetwork.RemoveNetworkDrive aryDrives(j)

 
 
Déconnecte un lecteur réseau... c'est pour éviter qu'un utilisateur récupère les lecteurs d'un autre ou que le lecteur soit déjà mappé sur autre chose.

n°1568002
francis73
le désordre génère l'ordre
Posté le 14-05-2004 à 19:50:54  profilanswer
 

mais ca, je le veux!!! c'est exactement ce que je veux, ce que je ne veux pas, c'est qu'il continu aprés avoir supprimer les existant et qu'il me garde les nouveaux...


---------------
L'ordre génère le désordre et le désordre génère l'ordre.
n°1568063
knives
Posté le 14-05-2004 à 20:46:13  profilanswer
 

pas trop le courage d'etudier ton truc, mais tu peux utiliser ca pour virer tout les lecteurs reseau avant d'en mapper de nouveau,

Code :
  1. Set WshNetwork = WScript.CreateObject("WScript.Network" )
  2. Set oDrives = WshNetwork.EnumNetworkDrives
  3. For i = 0 to oDrives.Count - 1 Step 2
  4.   NetworkDriveLetter = oDrives.Item(i)
  5.   WshNetwork.RemoveNetworkDrive NetworkDriveLetter , true, true
  6. Next


 
moin evoluer que celui que tu utilise sauf si ton but est de virer tout les lecteurs reseau.
 
a voir si le prb reviens, je te laisse t'amuser a tester :D

n°1568392
francis73
le désordre génère l'ordre
Posté le 15-05-2004 à 09:34:40  profilanswer
 


merci pour ton exemple, je m'amuse dessus et te dit si ca me suffit, avec tous ca si je n'y arrive pas, ca serait ballot  :D  
et pour repondre directment à ta question, oui, je veux virer les lecteurs dejas presents pour les remplacer par d'autres qui ont été déplacé sur un autre serveur, et pour compliquer un peu la chose, il doivent être en dur, pas de script de connexion!!!! :lol:  
mais la je crois que je m'en approche mechamment, merci a tous
 

Citation :

[nom]Bernard Werber a écrit[/nom]

Code :
  1. L'ordre génère le désordre et le désordre génère l'ordre. En théorie, si l'on fait une omelette en brouillant un œuf,il n'existe qu'une probabilité infime pour que l'omelette reprenne la forme de l'œuf originel. Mais cette probabilité existe.


n°1568398
Requin
Posté le 15-05-2004 à 09:43:36  profilanswer
 

Regarde si il y a une option "persistent" ... elle existe sous "net use", je suppose que ca doit être un paramètre du mappage.

n°1568419
francis73
le désordre génère l'ordre
Posté le 15-05-2004 à 10:20:24  profilanswer
 

a ca je le sais, c'est true, comme knives le montre dans son exemple ;o)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  scripting

 

Sujets relatifs
partages reseau en scriptingCross site scripting sous Phpbb
windows scripting host 5.1scripting dos bat
SMTP + scripting---> même principe que pour les virus.. 
Plus de sujets relatifs à : scripting


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)