pipe理电源选项

出于各种原因,我们希望我们的客户的计算机不会在交stream时睡觉。 我们一直运行下面的脚本,并取得了中等成功:

powercfg /change standby-timeout-ac 0 

但是,脚本在许多计算机(包括不在域中的计算机)上失败,并显示以下错误消息:

此电源scheme或电源设置存在组策略覆盖设置。

我意识到,这可以很容易地用GPO解决,但这不是一个可行的解决scheme,因为我们的很多客户是没有域名的小企业。 有没有办法使powercfg覆盖本地GPO?

这是“否”,用“但是”或“是”,用“但是”。

我们首先采用“否”的方法 – 不,组策略否决了应用程序所做的configuration,而不是相反的方式,这是有目的的。 如果您确实想要将安全ACL的一些创造性应用程序添加到相关的registry项,则可以禁止SYSTEM应用组策略 ,从而有效地允许您使用应用程序覆盖它们。 但是 ,这是一个非常糟糕的主意。

换句话说,是的,因为组策略只是registry项,所以你可以用你select的registry编辑器来改变它们的内容,把你自己置于一个非常尴尬的状态,在那里你可以通过防止SYSTEM访问作为组策略的registry项。 但是,这个问题有更好的解决方法,那就是configuration有问题的组策略。 (是的,本地组策略可以像域组策略一样进行编辑。)

在这种情况下,您可以使用本地组策略编辑器(MMCpipe理单元)来编辑设置 ,但看起来好像是在脚本选项之后,这也是可能的。 从脚本或命令行调用reg.exe ,并将正确的键值写入相应的值。 在这种情况下,您需要使用REG_DWORD值types为0 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power中的项名为HibernateEnabled

应该看起来像下面这样:

REG添加HKLM \ SYSTEM \ CurrentControlSet \ Control \ Power / v HibernateEnabled / t REG_DWORD / d 0

这将禁用hibernate,如果在冲突组策略运行后完成,将会覆盖组策略设置的任何值。 当然,这可能并不理想,因为每次计算机启动时都必须运行该程序,而且只能在交stream电源时禁用hibernate模式,因此您可能希望以编程方式编辑组策略registry中。 find适当的registry项最简单的方法是使用本地组策略编辑器更改该设置,而ProcMon正在运行,并使用它来显示刚刚修改的组策略设置 。

(使用GUI,在“ Computer Configuration\Administrative Templates\System\Power Management\Sleep Settings 。)

一旦您使用ProcMonfind了您要使用的密钥,并知道将其设置为什么值,则可以将其插入reg.exe ,如上例中所示,按照您的指定configuration本地组策略。 作为一个命令行命令,你会得到一些你可以手动使用的东西,或者粘贴到一个脚本中,如情况所示。