Bonjour,
J'essaie de faire un script batch qui va activer l'option wol après standby.
Pour ceci, j'utilise un script VBS qui fonctionne très bien quand je l'exécute en double-cliquant dessus.
Par contre quand j'essaie une exécution automatique (fichier dans le dossier startup de l'utilisateur, registry "Run"/"RunOnce") la query sur MSNdis_DeviceWakeOnMagicPacketOnly me sort une erreur.
L'erreur est la suivante :
Error : Not supported
Source : SWbemServicesEx
Google ne m'a pas aidé jusqu'à présent, voilà pourquoi je me tourne vers vous.
Le script complet utilisé est le suivant (trouvé sur internet, fonctionne lorsque je l'exécute Intéractivement)
La ligne en erreur est celle en gras.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 ' http://forums.whirlpool.net.au/forum-replies-archive.cfm/919407.html ' http://msdn.microsoft.com/en-us/library/aa392301(VS.85).aspx Const wbemFlagForwardOnly = &h20 ' "." --> computer running the script strComputer = "." WScript.Echo "Begin" OSSettings WScript.Echo "End" Sub OSSettings Set objWMIservice1 = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set Colitems1 = objWMIService1.ExecQuery("Select * From Win32_NetworkAdapter") Set objWMIService2 = GetObject("winmgmts:\\" & strComputer & "\root\WMI") Set colItems2 = objWMIService2.ExecQuery("SELECT * FROM MSPower_DeviceEnable", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly) Set colItems3 = objWMIService2.ExecQuery("SELECT * FROM MSPower_DeviceWakeEnable", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly) Set colItems4 = objWMIService2.ExecQuery("SELECT * FROM MSNdis_DeviceWakeOnMagicPacketOnly", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem1 in Colitems1 ' tester qu'on a bien à faire à une carte réseau filiaire et d'un certain type If objitem1.adaptertypeID = 0 and objitem1.netconnectionid <> "" and (objitem1.adaptertypeID = 0 and ( instr(1,objitem1.netconnectionid,"wireless",1) = 0)) and objitem1.adaptertypeID = 0 and objitem1.manufacturer <> "Microsoft" then ' enable "Allow the computer to turn off this device to save power" For Each objItem2 In colItems2 IF LEN(objitem1.PNPDeviceID) <= LEN(objItem2.InstanceName) THEN IF UCASE(objItem1.PNPDeviceID) = LEFT(UCASE(objItem2.InstanceName), LEN(objitem1.PNPDeviceID)) THEN objitem2.enable = "1" objitem2.Put_() ' enable "Allow this device to wake the computer" For Each objItem3 In colItems3 IF LEN(objitem1.PNPDeviceID) <= LEN(objItem3.InstanceName) THEN IF UCASE(objItem1.PNPDeviceID) = LEFT(UCASE(objItem3.InstanceName), LEN(objitem1.PNPDeviceID)) THEN objitem3.enable = "1" objitem3.Put_() ' enable "Allow only management stations to bring the computer out of standby" For Each objItem4 In colItems4 IF LEN(objitem1.PNPDeviceID) <= LEN(objItem4.InstanceName) THEN IF UCASE(objItem1.PNPDeviceID) = LEFT(UCASE(objItem4.InstanceName), LEN(objitem1.PNPDeviceID)) THEN objItem4.EnableWakeOnMagicPacketOnly = "1" objitem4.put_() END IF END IF NEXT END IF END IF NEXT END IF END IF NEXT END IF NEXT End Sub
Merci d'avance de votre aide
Partager