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 :

lecteur réseau entre 98 et srv2003


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Par défaut lecteur réseau entre 98 et srv2003
    Bonjour, je suis totalement débutant en VBS, et j'aurai voulu réaliser un script en VBS me créant mes lecteurs réseaux sur un serveur en 2003 serveur avec Active Directory.
    En chechant pas mal de doc, j'ai réussi a faire certains trucs, mais la en désespoir de cause, je me tourne vers vous.
    En fait, je dispose d'un répertoire "profs" (pour une école !!) qui est en partage caché, les bonnes règles de sécurité tant au niveau partage que sécurité sont appliquées, et dans ce répertoire, j' ai créé les répertoires nominatifs des profs (mais non partagés). Chaque prof n'ayant accès qu'a son dossier.
    Le truc, c'est que mon script fonctionne très bien sous XP (d’où mes bonnes règles de sécurité), mais sous 98, ca merde…
    En fait, il ne se connecte pas a mon lecteur "nominatif" s'il n'est pas partagé. Il ne se connecte qu'au répertoire "profs$", mais pas au dossier nominatif.
    En cherchant bien, j'ai trouve comment différencier 98 de XP et comment récupérer le nom.
    Mais meme que ce soit avec le login = reseau.username qui est pour XP , avec la fonction GetUserName ou avec une fenetre dos en %username%, ca me fait toujours la meme chose. je ne m'en sors toujours pas…
    merci de m'aider !!!
    voici le script :

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    Set oShell = CreateObject("WScript.Shell")
    SetLocale "en-us" ' do not remove
     
     
    	If (GetOsVersionNumber()<5) Then
     
    		Set reseau = CreateObject("wscript.network")
    			login = reseau.username
    			reseau.MapNetworkDrive "o:" , "\\fax\Profs$\" & GetUserName
    			reseau.MapNetworkDrive "p:" , "\\fax\Eleves$"
    			reseau.MapNetworkDrive "q:" , "\\fax\Pedagogique$"
     
    	Else
     
       		Set reseau = CreateObject("wscript.network")
    			login = reseau.username
    			reseau.MapNetworkDrive "o:" , "\\fax\Profs$\" & login
    			reseau.MapNetworkDrive "p:" , "\\fax\Eleves$"
    			reseau.MapNetworkDrive "q:" , "\\fax\Pedagogique$"
     
    		Dim theProxy
    		Set theProxy = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_proxy")
    		For Each thing In theProxy
    		thing.SetProxySetting "192.168.50.253","3128"
    	Next
    	End If
     
     
    Function GetOsVersionNumber()
    ''''''''''''''''''''''''''''''''''''''''
    ' Determines OS by reading reg val & comparing to known values
    ' OS version number returned as:
    ' Windows 9X: 0
    ' Windows NT4: 4
    ' Windows 2k: 5
    ' Windows XP: 5.1
    ' Windows 2003: 5.2
    ' Windows x: >5.2
    '
    ''''''''''''''''''''''''''''''''''''''''
     
       Dim oShell, sOStype, sOSversion, GetOsVersionNumberReg
       Set oShell = CreateObject("Wscript.Shell")
     
       On Error Resume Next
       sOStype = oShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions\ProductType")
       If Err.Number<>0 Then
          ' Hex(Err.Number)="80070002"
          ' - Could not find this key, OS must be Win9x
          Err.Clear
          GetOsVersionNumber = 0
          Exit Function
       End If
     
       GetOsVersionNumberReg = oShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion")
       If Err.Number<>0 Then
           GetOsVersionNumber = "Unknown NTx"
           Exit Function
       End If
     
       SetLocale "en-us" ' do not remove
       GetOsVersionNumber = CSng(GetOsVersionNumberReg)
       If GetOsVersionNumber > 49 Then
           GetOsVersionNumber = CSng(Replace(GetOsVersionNumberReg, ".", ","))
       End If
    End Function
     
     
     
    Function GetUserName()
    	'Returns the username property of the wshNetwork object
    	'Use for Win9x (no %username% by default)
    	On error resume next
    		Set nwObject=CreateObject("WScript.Network")
    			While isnull(nwObject.UserName)
    			Wend
    		GetUserName=nwObject.UserName
    		Set nwObject=nothing
    End Function

  2. #2
    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
    En cherchant bien, j'ai trouve comment différencier 98 de XP et comment récupérer le nom.
    Mais meme que ce soit avec le login = reseau.username qui est pour XP , avec la fonction GetUserName ou avec une fenetre dos en %username%, ca me fait toujours la meme chose.
    je n'ai pas compris cette partie.
    Tu recupere le nom de koi ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Par défaut C'est un peu compliqué.
    En fait, j'ai un parc hétérogène
    la moitie 98 et la moitié XP.
    en gros sur les machines XP, j'ai besoin de parametrer des options de proxy a cause des profils, mais sous 98, pas de besoin a ce niveau la.
    En fait, je voyais mon script comme cela :

    Si OS = 98, alors je lance cette partie du script,
    sinon, je lance l'autre partie.

    Donc, si je mets la meme chose (au niveau du mappage des lecteurs) pour 98 et XP, ca merde sous 98, j'ai alors teste avec le lancement d'une fenetre bat dans mon script en mettant le %username%, ca ne fonctionnait toujours pas, alors je me suis tourne vers la fonction "GetUserName" de VBscript, celle qui apparait dans le cript, et ca ne fonctionne toujours pas !! Pourtant le nom est bien recupere !!!

    La differenciation de l'OS fonctionne bien, c'est juste la connexion a mon lecteur reseau nominatif qui m'embete, mais QUE sous 98...
    J'espere que je suis clair ... mais ce n'est pas evident a expliquer par ecrit !! desole !!

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Et, sous 98, à la main (Connecter un lecteur réseau, dans Windows Explorer), ça marche?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Par défaut suite...
    En fait, il faudrait que je commence par poser la question suivante : mon arborescence est la suivante :

    D--Profs
    | |-prof1
    | |-prof2
    | |-prof3
    |
    |--Eleves
    | |-eleve1
    | |-eleve2
    | |-eleve3

    Etc....
    La, j'ai mon dossier prof (et eleve, c'est le meme cas de figure...) qui est en partage caché (en tant que profs$), et les sous dossiers ne sont pas partagés !! Seul prof1 a acces a prof1, prof2 à prof2 etc...
    Ce que je voudrai avoir c'est mon lecteur reseau qui pointe directement vers le dossier prof1 et non pas vers profs$ comme c'est le cas. Je ne veux pas que mes utilisateurs aient à parcourir les dossiers, meme s'ils n'y ont pas accès.
    Je le repete, sous XP, je n'ai aucun pb, mais c'est uniquement sous 98 que ca pose pb. Est ce que au moins c'est possible ??
    Merci !!!
    Et donc, sous 98, a la main, ca ne fonctionne pas ... puisque "prof1" n'est pas un nom de partage !! c'est balo !!!

Discussions similaires

  1. [exporter] Exporter la base vers lecteur réseau..
    Par terziann dans le forum Administration
    Réponses: 3
    Dernier message: 15/11/2005, 11h02
  2. [VB.NET] Chemin complet d'un lecteur réseau
    Par sinoo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/08/2005, 10h05
  3. [Millenium] Lecteur réseau impossible à connecter
    Par nebule dans le forum Windows 2000/Me/98/95
    Réponses: 3
    Dernier message: 08/02/2005, 11h00
  4. Comment minimiser le trafic réseau entre appli et serveur ?
    Par delphi+ dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/10/2004, 14h43
  5. Comment obtenir le nom complet d'un lecteur réseau ?
    Par Speed41 dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 26/08/2004, 07h55

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