问题标签 [powercfg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
418 浏览

powershell - 使用 Powershell 基于现有 HP 电源计划创建高性能电源计划

我正在处理一个 Powershell 脚本,以自动化我们的 Windows 10 迁移部署方法的一些过程。此脚本的一部分使用 powercfg 激活高性能电源计划选项。它在我们使用的三个正常计划(平衡/HP/省电模式)已经存在/创建的桌面上运行良好,但我正在测试它的笔记本电脑仅在“选择电源计划”菜单中存在平衡。

通常我会通过 GUI 单击“创建电源计划”,它会询问我是否要基于现有计划。在这里,我可以单击高性能计划模板,然后将其命名为高性能并以这种方式使用。我正在寻找一种在 Powershell 脚本中执行此操作的方法,以便我可以在笔记本电脑和台式机上运行此脚本。

这是我在已经创建了 HP 电源计划的机器上以及在“选择...”菜单(由SQL Soldier提供)中将电源计划更改为高性能的内容:

我有一个名为 $Laptop 的变量,当 -eq 为“y”或“是”时,我在脚本中执行其他操作,所以我想将此代码包装在基于 $Laptop 的 if 语句中,该语句将创建电源计划如果机器是笔记本电脑则激活它,如果不是,则正常执行上述代码。我意识到这段代码并不完全是铁定的,但我们只是选择了几个模型,所以我不想让它万无一失。

如果我能澄清任何事情,请告诉我。

0 投票
1 回答
656 浏览

windows - 与 PowerCfg.exe /setacvalueindex 对应的 Windows 注册表设置

在我的 powershell 脚本中,我使用

我想稍后验证是否已设置上述值。我如何验证这一点?

我找不到这个 SET 命令选项的任何 GET 版本,比如 GETacvalueIndex ?

或者 当我们这样做时是否设置了任何注册表设置,以便我可以在 Windows 注册表中验证它?

0 投票
2 回答
3009 浏览

regex - 如何在powershell中选择已经匹配的行之后的第一个匹配行?

我正在尝试使用powershellpowercfg. 我有足够的信息将范围缩小到设置的子组,但在文本块中我仍然需要使用 GUID 找到匹配的设置,然后我需要提取设置的当前设置值。我能够使用 来实现这一点Select-String -Context,但它不是动态的,因此容易出错。我正在寻找一种更清洁的方法来提取价值。

这是我拥有的文本块的示例(存储在 中$block):

假设我想提取 的 AC 值Allow hybrid sleep,在本例中为0x00000001。我setting_guid可以插入到查询字符串中。

现在我正在使用这段代码来动态提取特定设置的值:

目前这很好用,但硬编码-Context 0, 8并不是很理想,因为有时块可能很短或很长,我的查询将无法提取值,或者它会从错误的行中检索。我希望找到一种更简洁的方法来做到这一点,最好是程序化和人类可读的(只要有意义,正则表达式就可以了)。

0 投票
2 回答
402 浏览

c# - 如何使用 C# 导入 Windows 电源计划

我正在开发一个小型 C# 应用程序,它将电源计划导入用户的 PC 并将其设置为活动状态。当 .pow 文件位于同一文件夹中并且我正在运行命令时,它可以与 .bat 文件完美配合:

现在,在 C# 中,我尝试了这个:

但是程序在项目文件夹中没有看到 .pow 文件(我实际上尝试将它放在项目中的每个文件夹中)。如何实现让 powercfg 看到文件?

任何帮助深表感谢!谢谢!

0 投票
1 回答
701 浏览

windows - 如何找出 hiberfil.sys 的大小?

奇怪的是,虽然休眠文件位于根目录中,但 PowerShell 无法检测到它。显然这是一种虚拟文件。

那么,我怎样才能知道休眠文件的大小呢?

当然,调整 hibernation 大小时可以识别大小powercfg.exe /hibernate /size 50。但是如何在不改变休眠大小的情况下知道大小呢?谢谢

0 投票
0 回答
307 浏览

powershell - 如何使用 powershell 将 Powercfg /availablesleepstates 输出到对象中

命令行输出:

PowerShell脚本:

0 投票
0 回答
246 浏览

powershell - Powershell:如何在 ApplicationContext 循环中添加循环代码以及如何优雅地退出?

有人可以看看并帮助我解决我的两个问题吗?

  1. 这是退出应用程序的正确方法吗?(见代码末尾)
  1. 如何将以下循环添加到正在运行的 ApplicationContext 循环中?

谢谢!

PS。我正在尝试将我发现的两个脚本合并为一个(12)。该脚本检查进程是否正在运行(收割机),如果是,则将电源计划方案设置为高性能,如果不是,则设置为平衡。托盘图标显示当前的电源计划方案。

0 投票
1 回答
217 浏览

c# - 为什么我的程序中“powercfg”命令的输出与在 powershell 中运行时不同

我正在尝试创建一个程序来检查是否有一个进程会阻止我的显示器进入睡眠状态。我一直在通过运行手动执行此操作,powercfg /requests并且我想使用.NET 在计时器上运行此命令

问题是命令给我的输出与我powercfg.exe在 powershell 中运行时不同。

运行该过程的代码:

程序输出:

PowerShell 输出

<requestedExecutionLevel level="highestAvailable" uiAccess="false" />以管理员身份和 VS 运行程序。

0 投票
0 回答
77 浏览

winapi - 联想系统忽略 SetThreadExecutionState() 并且缺少“允许唤醒计时器”?

我遇到了一个带有计划任务的 Lenovo IdeaCentre A540-24ICB 系统,它唤醒计算机以启动我的应用程序,它似乎已启动,但系统立即恢复睡眠。有时它似乎没有启动(或者进入睡眠太快没有记录)所以我检查了 Windows 电源睡眠选项以确保“允许唤醒计时器”已启用但它不存在!在线搜索我找到了一个要添加的注册表项,以使其显示在电源选项中,然后确保它已启用。然而,并没有什么不同。

我必须使用鼠标/键盘让计算机唤醒足够长的时间以运行应用程序(它将从停止的地方开始)。该应用程序已使用多年,并且唤醒和运行都有效。它已经通过主处理线程中的 api 调用告诉系统不要进入睡眠状态(这可能需要几分之一秒的时间):

SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);

我认为API足以防止系统进入睡眠状态?如前所述,它已经工作了多年。只是这个联想新系统还是装的Win10好像不兑现?是否需要调用其他 API 调用?或任何检查/修复应用程序应该做的,以确保SetThreadExecutionState()将工作?

蒂亚!!

0 投票
0 回答
57 浏览

c# - 使用 C# 备份和恢复电源计划

我制作了一个与 Windows 电源计划混淆的程序。在进行任何更改之前,最好制作一份当前电源计划的副本,以便用户可以恢复它。有一个命令提示符命令powercfg –restoredefaultschemes,但它会恢复所有计划,并且用户可能有一些他手动设置的设置,我不希望他丢失它。所以唯一的选择是先导出再导入。

因此,一旦程序启动,如果当前方案不存在,我将使用此代码创建当前方案的备份:

在这种情况下,我们可以使用SCHEME_CURRENT来引用我们需要导出的方案,甚至不用使用 GUID。

导入配置文件也很容易

但是,要真正恢复备份的电源计划,我们不仅需要导入,还要将其设置为活动状态。当我们更改当前电源计划中的某些内容并希望将其设置为活动时,我们可以简单地使用

但是当我们刚刚备份的电源计划被导入时,我们不能使用SCHEME_CURRENT(因为当前是修改过的),并且我们不知道导入的计划的GUID来引用它并将其设置为活动。

有没有人知道如何在不知道 GUID 的情况下实现它?此外,如果有人看到备份/恢复电源计划的更好方法,我将很高兴听到您的想法,并将非常感激。