[..] Script VBS pour activer le DHCP

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ludogayff
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 23 juin 2009 11:11
Status : Hors ligne

[..] Script VBS pour activer le DHCP

#1

Message par ludogayff »

Bonjour,

Je cherche a executer un script VBS qui permet de passer les postes de travail de mon reseau en DHCP et dns auto.
Le probleme est que les utilisateurs n'ont pas les droits administrateurs pour excuter le script ci dessous

Merci de votre aide

Code : Tout sélectionner

Const FULL_DNS_REGISTRATION = True
Const DOMAIN_DNS_REGISTRATION = False
Const DEFAULT = 0
Const ENABLED = 1
Const DISABLED = 2

strComputer = "." 

Set objWMIService = GetObject("winmgmts:" _ 
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Set colNetAdapters = objWMIService.ExecQuery _ 
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") 

For Each objNetAdapter In colNetAdapters 
objNetAdapter.setDNSServersearchOrder() 
objNetAdapter.EnableDHCP() 
objNetAdapter.SetDynamicDNSRegistration _
        FULL_DNS_REGISTRATION, DOMAIN_DNS_REGISTRATION
objNetAdapter.SetTcpipNetbios (ENABLED)

Set objNetworkSettings = objWMIService.Get("Win32_NetworkAdapterConfiguration")
objNetworkSettings.RenewDHCPLeaseAll()

Next
Modifié en dernier par ani le mar. 23 juin 2009 11:28, modifié 1 fois.
Raison : Ajout de la balise [..] dans le titre & code
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Script VBS pour activer le DHCP

#2

Message par ani »

Bonjour ludogayff
Ca devrait ressembler à ceux-ci

Code : Tout sélectionner

Global Const $FULL_DNS_REGISTRATION = True
Global Const $DOMAIN_DNS_REGISTRATION = False
Global Const $DEFAULT = 0
Global Const $ENABLED = 1
Global Const $DISABLED = 2

$strComputer = "." 

Global $objWMIService = ObjGet("winmgmts:" _ 
& "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2") 

Global $colNetAdapters = $objWMIService.ExecQuery _ 
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") 

For $objNetAdapter In $colNetAdapters 
    $objNetAdapter.setDNSServersearchOrder() 
    $objNetAdapter.EnableDHCP() 
    $objNetAdapter.SetDynamicDNSRegistration($FULL_DNS_REGISTRATION, $DOMAIN_DNS_REGISTRATION)
    $objNetAdapter.SetTcpipNetbios ($ENABLED)

    Global $objNetworkSettings = $objWMIService.Get("Win32_NetworkAdapterConfiguration")
    $objNetworkSettings.RenewDHCPLeaseAll()
Next
ludogayff
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 23 juin 2009 11:11
Status : Hors ligne

Re: [..] Script VBS pour activer le DHCP

#3

Message par ludogayff »

Merci pour votre aide

Cela fonctionne bien mais uniquement en administrateur

Comment puis je faire pour excuter mon exe en utilisateur
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Script VBS pour activer le DHCP

#4

Message par ani »

Le script vbs fonctionne de quel manière ? utilisateur ou admin ?
Quel os possédez vous ?
je n'ai pas testé le script !
ludogayff
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 23 juin 2009 11:11
Status : Hors ligne

Re: [..] Script VBS pour activer le DHCP

#5

Message par ludogayff »

J'ai testé le script en admin il fonctionne tres bien.

En revanche en Utilisateur le script s'excute mais ne change pas les parametres reseaux.

Je suis sous WinXp sp2

J'ai absolument besoin de l'excuter en utilisateur
Avatar du membre
softwater
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 14 janv. 2009 17:12
Status : Hors ligne

Re: [..] Script VBS pour activer le DHCP

#6

Message par softwater »

Bonjour,

en général je fait ainsi:
1.
Je compile le script qui doit être exécuter avec des droits admin.

2.
Ensuite je crée un script afin de lancer le script compilé au point 1

Code : Tout sélectionner

Global Const $userA = "administrateur"
Global Const $pwdA = "MotDePasseAdmin"

FileInstall ( "......\script_1.exe", @Tempdir & "\script_1.exe" ,1 ) ; insertion du script à exécuter en admin et copie dans le temp

If IsAdmin() Then ; si user logué est admin
    RunWait(@TempDIR& "\Script_1.exe")
Else ; si user logué pas admin lancer avec l'admin local du pc
    RunAsWait($userA, @ComputerName, $pwdA, 0, @TempDIR & "\Script_1.exe")
EndIf

FileDelete(@Tempdir & "\script_1.exe") 
Etant donné que les fonction RunAs ne fonctionnent pas avec du VBS sauf erreur, il est peut-être utile de faire appel à la fenêtre de commande windows et lui indiqué le VBS à lancer, du style

Code : Tout sélectionner

Run(@ComSpec)
WinWaitActive("C:\WINDOWS")
BlockInput(1) ; verrouillage clavier/souris
Send('@tempdir & "script_1.vbs"{ENTER}')
Send("Exit{ENTER}")
BlockInput(1) ; déverrouillage clavier/souris
ludogayff
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 23 juin 2009 11:11
Status : Hors ligne

Re: [..] Script VBS pour activer le DHCP

#7

Message par ludogayff »

Merci la premiere methode marche tres bien

pourriez vous me traduire ce sript vbs en autoit
► Afficher le texte
Avatar du membre
softwater
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 14 janv. 2009 17:12
Status : Hors ligne

Re: [..] Script VBS pour activer le DHCP

#8

Message par softwater »

pourriez vous me traduire ce sript vbs en autoit
Mes compétences en VBS étant de niveau 0 je crains que non :?
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Script VBS pour activer le DHCP

#9

Message par orax »

ludogayff a écrit :pourriez vous me traduire ce sript vbs en autoit
Je me suis fait aidé par ce script : http://www.autoitscript.com/forum/index ... st&p=83650, mais il y a encore des choses à modifier, la conversion n'est pas parfaite. Et j'ai l'impression que le script VBS n'est pas complet : il y a une boucle "for" qui commence mais pas de "next" à la fin.
► Afficher le texte
Edité : mise à jour du script.
Il reste la dernière partie à revoir (avec le "WshShell.Environment(EnvName)").
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Répondre