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 :

Modifier un fichier *.prf à l'aide d'un script


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Modifier un fichier texte à l'aide d'un script
    Bonjour à tous!
    J'ai créer un script qui me permet de trouver le nom de connexion sur outlook2k de chaques utilisateurs de mon réseau afin d'automatiser une migration de messagerie et d'un autre côté j'ai un fichier *.prf (fichir texte qui contient toutes les informations de l'utilisateur de outlook). Il faudrai que mon script aille rentrer le résultat dans le fichier .prf à telle ligne tel endroit. Et pour cela, on me dit qu'il y a une commande à écrire à la fin de mon script pour que cela se fasse. Es-ce que quelqu'un aurait une idée??

    Je vous remerci d'avance et vous souhaite une bonne après-midi

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour!
    Personne n'a de réponse?? L'explication n'est pas assez claire?? Jsuis en suspense de réponse!!
    Merci quand même. Bonne journée

  3. #3
    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 : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Si tu veux avoir plus de chances d'obtenir une réponse, montre-nous ce que tu as déjà fait.
    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!

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Re!
    Je ne m'appelle pas Héléna, mais j'aime avoir de la chance! Donc AlainTech je suis ton conseil
    Voici le script qui me permet de trouver le nom de connexion sur outlook2k qui est de la fome "prénom.nom" :
    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
    Dim conteneur
    Dim utilisateur,OU
    
    Set WshShellObj = WScript.CreateObject("WScript.Shell")
    Set WshProcessEnv = WshShellObj.Environment("Process") 
    codeRH=WshProcessEnv("USERNAME")
    'wscript.echo "codeRH : "&codeRH
    
    set objConnection = CreateObject("ADODB.Connection")
    Set objCommand = CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
    
    Set objCOmmand.ActiveConnection = objConnection
    
    objCommand.CommandText = _
    "Select DistinguishedName from 'LDAP://OU=DRII,OU=Bureautique,OU=Comptes Individuels,OU=Utilisateurs,OU=MTP,DC=IC,DC=courrier,DC=intra,DC=toto,DC=fr' " _
    & "Where objectClass='user' AND sAMAccountName='"&codeRH&"'" 
    
    
    'objCommand.commandText ="<LDAP://dcmic01/OU=DRII,OU=Bureautique,OU=Comptes Individuels,OU=Utilisateurs,OU=MTP,DC=IC,DC=courrier,DC=intra,DC=toto,DC=fr>;(&(objectClass=user)(sAMAccountName='coderh'));DistinguishedName;subTree"
    
    
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst
    
    Do Until objRecordSet.EOF
    DNUser= objRecordSet.Fields(0).Value
    objRecordSet.MoveNext
    Loop
    
    'set conteneur = GetObject("LDAP://CN=DELACHANCE Héléna,OU=DRII,OU=Bureautique,OU=Comptes Individuels,OU=Utilisateurs,OU=MTP,DC=IC,DC=courrier,DC=intra,DC=toto,DC=fr")
    ChaineDeConnexion = "LDAP://"& DNUser
    set conteneur = GetObject(ChaineDeConnexion )
    userPN=conteneur.get("userPrincipalName")
    'WScript.Echo "userPrincipalName: " & vbTab & userPN
    
    PosArobase = Instr(UserPN, "@")
    'Wscript.echo PosArobase
    ChaineNomPrenom=Left(UserPN, PosArobase-1)
    Wscript.echo ChaineNomPrenom
    Le fichier texte qui contient toutes les informations de l'utilisateur de outlook est de cette forme là:
    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
     [General]
    Custom=1
    ProfileName=TEST
    DefaultStore=Service1
    DefaultProfile=Yes
    OverwriteProfile=No
    [Service List]
    Service1=Oracle Connector for Outlook
    Service2=Outlook Address Book
    [Service1]
    CalServerName=srv.book.log.shoot.toto.gt
    CalAccountName=p%username%
    CalServerPassword=p%username%
    CalNoAccount=FALSE
    CalServerPort=0
    CalABDisplayFormat=0x00040352
    CalABAutoRefresh=0
    CalOwnDisplayRange=14\0730\0
    CalOtherDisplayRange=14\0730\0
    MailServerType=1
    MailServerName=imap.book.shoot.toto.gt
    MailAccountName=p%username%
    MailServerPassword=p%username%
    MailNoAccount=FALSE
    MailServerPort=124
    MailSecureConnection=1
    MailTimeout=127
    Imap4FolderMappings=\0\0\0\0
    Imap4Namespaces=\0\0\0
    Imap4ShowFolders=0x00010072
    PopServerSettings=0x00010042
    SmtpServerName=mail.log.intra.toto.fr
    SmtpAuthentication=FALSE
    SmtpAccountName=
    SmtpServerPassword=
    SmtpNoAccount=FALSE
    SmtpServerPort=27
    SmtpSecureConnection=1
    SmtpTimeout=152
    SmtpRetryInterval=2
    SmtpDisplayName=titi
    SmtpEmailAddress=titi@toto.fr
    SmtpOrganization=
    SmtpReplyTo=
    ConnectionType=0x00100001
    OfflinePath=
    OfflineResetBackup=1
    OfflineResetBackupPath=
    StoreAttachmentsByReference=1
    Il faudrai que la chaine "prénom.nom" que me renvoi mon script vienne remplacer le nom de connexion "titi" des lignes "SmtpDisplayName" et "SmtpEmailAddress" du fichier texte.
    Merci pour vos contributions! et bon appétit

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut

    Tout le monde est parti en vacance ou koi??? Je vous déconseille de partir sur mon île pour le moment si vous êtes encore là!! La faute à Gamède!!
    allé nar trouve!

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ben à priori en VBS .. tu n'as pas accès directement au API... donc la solution va être de lire tous le fichier (avec fileSystemObject ... voir ) modifier la ligne et ré-écrire tous le fichier...

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour Bbil!
    En fait tu me dis d'intégrer les données de mon fichier texte(.prf) dans mon script en renvoyant la chaine prénom.nom aux endroits voulus, puis une fois les champs remplis, créer un nouveau fichier texte et y balancer les infos dessus sans oublier de changer le nom du fichier .prf après chaque boucle. Et la marmotte elle met le chocolat... dans l'papier d'alu!!! lol non sans déconner, tu me vois moi pondre ça du haut de ma deuxième année de BTS réseau??? Auuu secouuuurrrss les développeurrrrrrrrssss!!!!!!!!! I need help

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ben oui il faut si mettre....


    Comment lire le contenu d'un fichier texte ?
    Comment écrire dans un fichier texte ?


    tu lis le fichier ligne à ligne ... et ensuite tu utilise les fonction de texte left, right, split ... pour examiner tes chaînes....
    Où trouver l'aide en ligne pour VBScript ?


  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    YESSSSSssssss!!! Merci Bbil!! J'y suis arrivé, g rentré toutes les données que contenai mon fichier prf dans mon script, et là g pu intégré la chaine prénom.nom; une fois fait g créé un fichier prf à partir du sript et je lui est rebalancé toutes les infos dessus! et le tour est joué! But (et oui il y a un mais! ) En fait le script ne s'exécute que sur les machines ayant les droits d'admin, car le script doit interroger l'AD! Donc existerait-il une commande qui donne le droit d'admin à mon script pour que celui-ci puisse interroger l'AD à partir des postes des simples employés?

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    eu... je sais pas trop .. sous XP ..? tu peu tenter "exécuter en tant que.."

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Je vois ça demain Bbil et je te tiens au courant. Merci kan mm
    bon appétit et bonne soirée

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    bonjour à tous
    alors pour ce ki concerne le problème de lecture de l'AD c'est résolu; en fait l'information que je recherchai se trouve aussi dans la base de registre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim WS, DefaultUserName 
    Set WS = WScript.CreateObject("WScript.Shell") 
    DefaultUserName   = WS.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName") 
    PosArobase = Instr(DefaultUserName, "@") 
    'Wscript.echo PosArobase 
    ChaineNomPrenom =Left(DefaultUserName, PosArobase-1) 
    'Wscript.echo ChaineNomPrenom
    Ce qui nous raccourci pas mal le script donc du coup le script va chercher toutes les infos en local pour s'exécuter!
    Merci à vous tous pour m'avoir aidé à avancer bonne journée et bon courage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/11/2010, 11h36
  2. Besoin d'aide pour modifier un fichier html
    Par killahpriest dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 22/08/2010, 15h35
  3. [AJAX] Modifier un fichier XML à l'aide d'AJAX
    Par insa35 dans le forum AJAX
    Réponses: 1
    Dernier message: 06/04/2009, 17h18
  4. Réponses: 1
    Dernier message: 07/12/2007, 11h53
  5. modifier un win.ini à l'aide d'un script
    Par JABOUILLE dans le forum Windows
    Réponses: 0
    Dernier message: 20/07/2007, 14h59

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