Bonjour à tous,
Je cherche à adapter un bout de script vbs en c#, mais me casse la tête a essayer de le convertir correctement..
L'élément me bloquant, est de passer la methode SetBIOSAttributes à un objet objWMIService..
Voici le code me bloquant
j'ai essayé via cette façon, mais cela me renvoi un message d'erreur: La référence d'objet n'est pas définie à une instance d'un objet.
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 '*** Retrieve the instance of DCIM_BIOSService class ' Set objWMIService = GetObject("WinMgmts:{impersonationLevel=impersonate," &_ ' "AuthenticationLevel=pktprivacy}\\" & strComputerName & "\" &_ ' strNameSpace) ' Set ColSystem=objWMIService.execquery ("Select * from " & strClassName) ' For each objInstance in ColSystem ' Set oInParams = objInstance.Methods_("SetBIOSAttributes").InParameters.SpawnInstance_ ' oInParams.AttributeName = strAttributeName //Nom de l'attribut a passer ' oInParams.AttributeValue = strAttributeValue // Valeur de l'attribut ' oInParams.AuthorizationToken = strAuthorizationToken ' Set returnValue = objInstance.ExecMethod_("SetBIOSAttributes", oInParams) ' Exit For ' Next
Je suis preneur de toute piste, si vous avez des idées, un petit coup de pouce a me donner, je sèche bien la
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
24 ManagementPath path = new ManagementPath("\\\\PCXX\\root\\dcim\\sysman"); ManagementScope scope = new ManagementScope(path); SelectQuery msQuery = new SelectQuery("SELECT * FROM DCIM_BIOSService"); ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(scope, msQuery); string[] attrib = { "Wake-On-LAN" }; string[] val = { "4" }; object[] methodArgs = { null,null, attrib,val,"pwd" }; foreach ( ManagementObject item in searchProcedure.Get() ) { try { item.InvokeMethod("SetBIOSAttributes", methodArgs); foreach (string returned in methodArgs) { Console.Write(returned.ToString()); } } catch (SystemException excep) { Console.Write(excep.Message); } }
(Oups) je pense que je me suis trompé de partie de forum, ( => C# ).. sorry..
Partager