Я пытаюсь создать скрипт, который переключается между планами питания.Вот сценарий:
$PP1 = Get-WmiObject -Namespace root\cimv2\power -Class Win32_PowerPlan |
where {$_.elementname -eq "Balanced"}
$PP2 = Get-WmiObject -Namespace root\cimv2\power -Class Win32_PowerPlan |
where {$_.elementname -eq "My Custom Plan 1"}
if ($PP1) {
$PP2.Activate()
}
if ($PP2) {
$PP1.Activate()
}
И вот ошибка, которую я получаю:
Exception calling "Activate" : "This method is not implemented in any class "
At line:6 char:1
+ $PP2.Activate()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WMIMethodException
Exception calling "Activate" : "This method is not implemented in any class "
At line:10 char:1
+ $PP1.Activate()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WMIMethodException
Любая идея, как это исправить?
Ниже вывод, который я получаюпосле выполнения $PP1
.Выходные данные идентичны $PP2
:
__GENUS : 2
__CLASS : Win32_PowerPlan
__SUPERCLASS : CIM_SettingData
__DYNASTY : CIM_ManagedElement
__RELPATH : Win32_PowerPlan.InstanceID="Microsoft:PowerPlan\\{381b4222-f694-41f0-9685-ff5bb260df2e}"
__PROPERTY_COUNT : 5
__DERIVATION : {CIM_SettingData, CIM_ManagedElement}
__SERVER : PCLP2
__NAMESPACE : root\cimv2\power
__PATH : \\PCLP2\root\cimv2\power:Win32_PowerPlan.InstanceID="Microsoft:PowerPlan\\{381b4222-f694-41f0-9685-ff5bb260df2e
}"
Caption :
Description : Automatically balances performance with energy consumption on capable hardware.
ElementName : Balanced
InstanceID : Microsoft:PowerPlan\{381b4222-f694-41f0-9685-ff5bb260df2e}
IsActive : True
PSComputerName : PCLP2
Моя цель - добавить сценарий в планировщик задач, и каждый раз, когда я блокирую компьютер, состояние питания соответствующим образом переключается.