Bonjour a tous
Dans le but de faire une interface HTA (VBS)
J'utilise l'utilitaire WMI Code Creator pour généré mon code en VBS
dans cette utilitaire il y a un moyen d'utiliser l'option "remote computer"
Le code généré par WMI Code Creator est le suivant :
et donc ce code ne fonctionne pas, je pense savoir d'ou ça vien mais j'arrive pas savoir quoi mettre a la place de ".ReplaceKeyProperty=ReplacePropertyValue"
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 Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator") Set objWMIService = objSWbemLocator.ConnectServer(strComputer, _ "root\CIMV2", _ strUser, _ strPassword, _ "MS_409", _ "ntlmdomain:" + strDomain) ' Obtain an instance of the the class ' using a key property value. Set objShare = objWMIService.Get("Win32_OperatingSystem.ReplaceKeyProperty=ReplacePropertyValue") ' Obtain an InParameters object specific ' to the method. Set objInParam = objShare.Methods_("Win32Shutdown"). _ inParameters.SpawnInstance_() ' Add the input parameters. ' Execute the method and obtain the return status. ' The OutParameters object in objOutParams ' is created by the provider. Set objOutParams = objWMIService.ExecMethod("Win32_OperatingSystem.ReplaceKeyProperty=ReplacePropertyValue", "Win32Shutdown", objInParam) ' List OutParams Wscript.Echo "Out Parameters: " Wscript.echo "ReturnValue: " & objOutParams.ReturnValue
j'ai esssayé diverse chose comme ".Win32Shutdown=6" ou simplement de le supprimer mais cela ne fait pas avancé la chose, j'ai toujours des erreurs sur les deux lignes ou il y a ".ReplaceKeyProperty=ReplacePropertyValue"
A un moment donner j'ai comme erreur "Privilige non maintenu" et j'ai trouvé ce lien qui en parle http://support.microsoft.com/kb/891865/fr mais c'est du VB.net (impossible pour moi de le convertir en VBS)
J'ai parcouru en long et en large le net pour trouvé le code miracle, j'ai fini par trouvé ceci
Ce code fonctionne sans probleme en VBScript mais ne fonctionne pas en HTA et le probleme viendrais d'un probleme de privilege (Token ?) mais je vois pas du tout comme faire pour y arriver
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator") Set objWMIService = objSWbemLocator.ConnectServer(strComputer, "winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\root\CIMV2", strUser, strPassword, "MS_409", "NTLMDomain:" + strComputer) Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objOperatingSystem in colOperatingSystems ObjOperatingSystem.Reboot() Next
si quelqu'un a la solution ?
Merci beaucoup d'avance
A bientot
Partager