答案1
在我亲自经历了显示“系统无人值守睡眠超时”的痛苦之后,这可能会在指定时间之前过早地使屏幕变暗,并帮助另一个用户进行不同的设置,我编写了一个脚本来查询所有可用的电源选项,并在网格控件中显示它们及其当前可见性状态,并允许用户选择选项并切换其可见性。
当您运行下面的代码时,您将看到一个列出选项的 GridView 控件:
- 属性(可见性)
1
= 禁用2
= 启用 - 全局唯一标识符
- 姓名
虽然你只需滚动浏览选项,但 GridView 控件允许你使用Add Criteria
左上角的按钮:
选择您想要切换属性的选项的行。使用 + 来选择多行。然后单击“OK
“
重新启动以使更改生效
将以下代码复制并粘贴到行政人员 电源外壳窗口。按 执行。
Function Toggle-PowerSettingsVisibility {
$Title = 'Select option(s) to toggle visibility'
$PowerSettings = 'HKLM:\SYSTEM\CurrentControlSet\Control\Power\PowerSettings'
@( [PSCustomObject]@{
Attributes = 0
PSChildName = '{ -- No Changes -- }'
Name = ' "Safety" row to clear selection'
} ) +
@( Get-ChildItem $PowerSettings -Recurse | ? Property -contains 'Attributes' | Get-ItemProperty |
Select Attributes, PSCHildName,
@{ N = 'Name' ; E = { $_.FriendlyName.Split(',')[-1] }} ) | Sort PSChildName |
Out-GridView -Passthru -Title $Title | ForEach {
$Splat = @{
Path = Resolve-Path "$PowerSettings\*\$($_.PSChildName)"
Name = 'Attributes'
Value = $_.Attributes -bXor 0x0000003
}
Set-ItemProperty @Splat
}
}
Toggle-PowerSettingsVisibility