Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Inscrit en
    décembre 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : décembre 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut Modification fichier host

    Bonjour,

    Je suis novice dans le langage VBS, voilà je veux ajouter une ligne au fichier host de plusieurs postes. La ligne est "adresse IP nom de machine"
    Le fichier host n'est modifiable qu'avec le compte administrateur, j'ai résolu ce problème avec le script ci-dessous mais je n'arrive pas à ajouter les commandes pour modifier le host dans la même fenêtre dos ouverte en administrateur avec mon script:
    Code :
    1
    2
    3
    4
    5
    6
    7
    set WshShell = WScript.CreateObject("WScript.Shell" )
     
    WshShell.run "runas /user:domain\administrator %comspec%"  
    WScript.Sleep 1000
    WshShell.SendKeys "motdepasse"
    WshShell.SendKeys "{ENTER}"    
    WScript.Sleep 1000
    Pourriez-vous m'aider
    Merci

  2. #2
    Nouveau Membre du Club
    Profil pro
    Technicien Help Desk
    Inscrit en
    décembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : décembre 2012
    Messages : 23
    Points : 26
    Points
    26

    Par défaut

    Essaie avec ça ?
    Code :
    1
    2
    3
    4
    5
    set WshShell = WScript.CreateObject("WScript.Shell" )
    LigneEnPlus = "adresse IP nom de machine"
    HostFile = "c:\Windows\System32\drivers\etc\host"
    command = "runas /user:domain\administrator ""%comspec% /c echo " & LigneEnPlus & ">>""" & HostFile & """"""
    WshShell.run command
    La commande Echo [texte]>>[fichier] permet d'ajouter du texte à la suite du fichier indiqué.

    Dans ce cas précis, un fichier Batch standard serait probablement aussi simple à manier :
    Code :
    1
    2
    3
    4
    5
    6
    @SETLOCAL
    @Set LIGNEENPLUS=adresse IP nom de machine
    @Set HOSTFILE=c:\Windows\System32\drivers\etc\host
    @REM Ne pas mettre de guillemets ci-dessus
    RUNAS /user:domain\administrator "cmd /c echo %LIGNEENPLUS%>>"%HOSTFILE%""
    @ENDLOCAL
    Par-contre, placer les identifiants administrateurs dans un fichier texte, je trouve que c'est une mauvaise idée. Et les faire remplir automatiquement, je trouve que c'est un appel à faille.

  3. #3
    Invité de passage
    Inscrit en
    décembre 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : décembre 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Merci Daynvheur

    Mais j'ai un problème le fichier host n'est pas modifier avec le script que tu m'as donné

  4. #4
    Nouveau Membre du Club
    Profil pro
    Technicien Help Desk
    Inscrit en
    décembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : décembre 2012
    Messages : 23
    Points : 26
    Points
    26

    Par défaut

    Il ne serait pas en lecture-seule, par hasard ?

  5. #5
    Invité de passage
    Inscrit en
    décembre 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : décembre 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    ça fonctionne lorsque j'ouvre la fenêtre dos en admin et que je tape directement les commandes à la main. Mais ça fonctionne pas avec le script.

  6. #6
    Expert Confirmé Sénior
    Avatar de hackoofr
    Homme Profil pro Mehdi Tounisiano
    Enseignant
    Inscrit en
    juin 2009
    Messages
    2 684
    Détails du profil
    Informations personnelles :
    Nom : Homme Mehdi Tounisiano
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : juin 2009
    Messages : 2 684
    Points : 6 048
    Points
    6 048

    Par défaut

    Citation Envoyé par foudhil92 Voir le message
    ça fonctionne lorsque j'ouvre la fenêtre dos en admin et que je tape directement les commandes à la main. Mais ça fonctionne pas avec le script.

    Essayez ce code :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Option Explicit
    Dim Ws,WshEnv,WinPath,ProcessEnv,FSO,HostFile,File,LIGNEENPLUS,sUser,sPass,sCmd,rc
    LIGNEENPLUS="adresse IP nom de machine Test"
    set Ws = CreateObject("WScript.Shell")
    set WshEnv = Ws.Environment("Process")
    WinPath = WshEnv("SystemRoot")&"\System32\runas.exe"
    HostFile = WshEnv("SystemRoot")&"\System32\drivers\etc\host"
    set FSO = CreateObject("Scripting.FileSystemObject")
    if  Not FSO.FileExists(HostFile) then
        MsgBox "Le fichier Host n'existe pas !",16,"Le fichier Host n'existe pas !"
        Wscript.Quit
    end if
    sUser = WshEnv("USERNAME")
    sPass="VotrePassword"& VBCRLF 'Modifiez cette ligne par votre mot de passe
    sCmd="%comspec% /c echo " & LigneEnPlus & ">>" & HostFile &""
    rc=Ws.Run("runas /user:" & qq(sUser) & " " & qq(sCmd),2,FALSE)
    Wscript.Sleep 1000
    Ws.AppActivate(WinPath)
    Ws.SendKeys sPass
     
    Function qq(strIn)
    qq = Chr(34) & strIn & Chr(34)
    End Function

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •