[R] RunAs avec un script VBS

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
guillaume
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mar. 28 août 2007 12:13
Status : Hors ligne

[R] RunAs avec un script VBS

#1

Message par guillaume »

Bonjour,

j'ai un script VBS qui me permet de changer la passerelle d'une connection réseau :

Code : Tout sélectionner

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strGateway = Array("10.1.0.253")
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
If errEnable = 0 Then
WScript.Echo "The IP address has been changed."
Else
WScript.Echo "The IP address could not be changed."
End If
Next

Le problème c'est que pour fonctionner ce script doit être executé en admin

j'ai pensé à faire un RunAs ( $DomainUserName , $DomainName , $UserPassword , 0 , 'c:\script.vbs', '', @SW_HIDE )

Mais en ayant parcouru le forum il me semble qu'autoit ne permet pas cette fonction.

Y a t - il un moyen de lancer ce vbs avec les droits admin ?
(je ne pense pas être capable de convertir le vbs en autoit)

Merci à vous
Modifié en dernier par guillaume le jeu. 09 juil. 2009 17:31, modifié 1 fois.
Avatar du membre
softwater
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 14 janv. 2009 17:12
Status : Hors ligne

Re: [..] RunAs avec un script VBS

#2

Message par softwater »

Hello,

Il y a une solution ici
http://www.autoitscript.fr/forum/viewto ... 737#p18737

Voir 2ème code et utiliser RunAs au lieu de Run sur la première ligne
guillaume
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mar. 28 août 2007 12:13
Status : Hors ligne

Re: [..] RunAs avec un script VBS

#3

Message par guillaume »

Merci beaucoup je vais essayer de caler ça dans mon RunAs
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] RunAs avec un script VBS

#4

Message par ani »

Bonjour,
Voici le code vbs transformé en AU3

Code : Tout sélectionner

Global $strGateway[1], $strGatewayMetric[1]
$strComputer = "."
Global $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
Global $colNetAdapters = $objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
$strGateway[0] = "10.1.0.253"
$strGatewayMetric[0] = 1
For $objNetAdapter in $colNetAdapters
    $errGateways = $objNetAdapter.SetGateways($strGateway, $strGatewaymetric)
    If $errEnable = 0 Then
        msgbox(0,"","The IP address has been changed.")
    Else
        msgbox(0,"","The IP address could not be changed.")
    EndIf
Next
On peut aussi imaginer une fonction
Func ChangeIP($ip,$Gateway,$subnet="255.255.255.0")
.....
Endfunc

Le script change toute les adresses de toute les cartes ?
il serait pas mieux de changer juste la carte qu'on désire ?
en regardeant le nom ? $objNetAdapter.caption
Func ChangeIP($Carte,$ip,$Gateway,$subnet="255.255.255.0")
.....
Endfunc

bonne continuation ;)
guillaume
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mar. 28 août 2007 12:13
Status : Hors ligne

Re: [R] RunAs avec un script VBS

#5

Message par guillaume »

Alors là franchement merci beaucoup, c'est exactement ce qu'il me fallait !

Effectivement je change l'adresse de toutes les cartes (pour la bonne raison que je ne connais pas grand chose en VBS et que je me suis inspiré d'un script existant)
L'autre soucis c'est que sur certains PC le nom de la carte peut être différent, et donc là si je change pour tout je n'ai pas le soucis d'avoir le bon nom.

Merci !
Avatar du membre
ar0ray
Niveau 2
Niveau 2
Messages : 21
Enregistré le : ven. 10 juil. 2009 07:48
Status : Hors ligne

Re: [R] RunAs avec un script VBS

#6

Message par ar0ray »

Heum, désoler mon la question novice mais...Ca sert a quoi changer la passerelle? :roll:

Peace
Vive autoIT =)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] RunAs avec un script VBS

#7

Message par ani »

le subnet est un systeme de classe, A,B,C,D et E

Un petit lien qui m'a bien aidé pour comprendre l'adressage IP
Polstar
Niveau 1
Niveau 1
Messages : 1
Enregistré le : jeu. 03 sept. 2009 12:07
Status : Hors ligne

Re: [R] RunAs avec un script VBS

#8

Message par Polstar »

Bonjour,

Sinon on peut lancer directement un vbs avec le runAs en lui précisant le chemin vers wscript.exe

Ex :

Code : Tout sélectionner

Local $sUserName = "Administrateur"
Local $sPassword = "*****"
Local $Application = "C:\WINDOWS\system32\wscript.exe C:\scripts\admin_script.vbs"

RunAs($sUserName, @ComputerName, $sPassword, 0, $Application, @SystemDir)
 
Répondre