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 :

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
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"

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

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
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
si quelqu'un a la solution ?

Merci beaucoup d'avance

A bientot