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

 


Dernière réponse
Sujet : scripting
francis73 a ca je le sais, c'est true, comme knives le montre dans son exemple ;o)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
francis73 a ca je le sais, c'est true, comme knives le montre dans son exemple ;o)
Requin Regarde si il y a une option "persistent" ... elle existe sous "net use", je suppose que ca doit être un paramètre du mappage.
francis73
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.


knives 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

francis73 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...
Requin

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.

francis73 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]
Requin 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 ;)
ShonGail Quel est l'interêt de faire ses mapages en VBS et non en batch DOS ?
francis73 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.....
Requin 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é...
francis73 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:
francis73 merci j'essaye de le comprendre et je te tiens au courant ;0)
Requin 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

francis73

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:

KenShInouU si c'est le même vbs auquel je pense ya une jolie commande qui s'appelle "MapDrive"  :lol:  :lol:  :lol:
francis73 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


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

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:  
 


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