Page 1 sur 1

[..] Script VBS pour activer le DHCP

Posté : mar. 23 juin 2009 11:16
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

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

Posté : mar. 23 juin 2009 11:33
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

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

Posté : mar. 23 juin 2009 11:52
par ludogayff
Merci pour votre aide

Cela fonctionne bien mais uniquement en administrateur

Comment puis je faire pour excuter mon exe en utilisateur

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

Posté : mar. 23 juin 2009 12:23
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 !

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

Posté : mar. 23 juin 2009 14:20
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

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

Posté : mar. 23 juin 2009 14:45
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

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

Posté : mar. 23 juin 2009 16:46
par ludogayff
Merci la premiere methode marche tres bien

pourriez vous me traduire ce sript vbs en autoit
► Afficher le texte

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

Posté : mar. 23 juin 2009 16:48
par softwater
pourriez vous me traduire ce sript vbs en autoit
Mes compétences en VBS étant de niveau 0 je crains que non :?

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

Posté : mer. 24 juin 2009 00:55
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)").