我在 Windows 上通过 cmd 运行电池测试后遇到了一个问题
结果是:
设备或驱动程序已发出请求以防止系统自动进入睡眠状态。驱动程序名称 \FileSystem\rdbss
所以,我决定去看看那是什么,然后我找到了该问题的答案建议。这篇文章似乎建议编辑注册表以允许在打开远程文件的情况下进行睡眠将解决问题。
摘自帖子:
显示隐藏的电源属性,该属性可允许系统在网络共享打开时进入睡眠状态。您可以通过组策略编辑器 (gpedit.msc) 进行设置,也可以通过打开 Regedit 并转到使其出现在电源属性中:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\ Power\PowerSettings\ 238C9FA8-0AAD-41ED-83F4-97BE242C8F20\d4c1d4c8-d5cc-43d3-b83e-fc51215cb04d]
在其中,将属性设置为 0(默认值为 1,表示隐藏)。
我找到了这个答案在 answers.microsoft.com 上。
我的问题是,人们究竟是如何在 Windows 注册表中找到如此深的位置来进行这样的更改的?是否有某种应用程序可以分析和定位正在使用的注册表项?没有人能够做到或记住这些路径,因此必须有一种方法可以解析注册表中的数据。
答案1
这只是你随着时间的推移和大量经验的积累而学到的东西。这是一种熟悉感。
注册表只是存储设置的中心位置。任何程序都可以读取或写入注册表。它包含的许多值仅对创建它们的应用程序有意义。有些记录得很好,有些记录得很差或根本没有。如果您经常使用注册表,您就会知道某些东西应该放在哪里,以及树的哪些分支执行不同的操作。一旦您知道了这一点,当出现问题时,您就知道从哪里开始查找。
你通常只需要使用 Google-Fu 就能找到错误/行为/类似问题,找出哪个组件可以导致它的原因,谷歌搜索,形成假设,再谷歌搜索……如果你很幸运,你会在某个地方找到一些晦涩难懂的文档,这些文档解释了你在寻找什么或事物是如何运作的。如果做不到,你只能用你在旅途中获得的任何知识进行实验。
如果你这样做了足够多次,并且一路上炸毁了几台计算机,你就会更深入地了解哪些组件执行哪些操作以及这些操作在注册表中的记录位置之间的关系。并不是每个人都能胜任这项任务。有时,它只需要强力的反复试验,或者长时间比较一台机器与另一台机器的状态,更改设置,然后看看会发生什么。
我想说的是,没有一本手册可以为你详细说明一切。注册表是一个复杂的问题,需要多年的实践才能熟练地找到让你感到麻烦的地方。即便如此,仍然需要大量的猜测和直觉。
答案2
如果搜索网络(或在此处询问)没有找到解决方案,通常有两种方法。
黑盒测试:您不知道过程中发生了什么,因此您要对进入“机器”的所有内容制作一个快照,并对从中出来的内容制作另一个快照。意思是,就像在建议的评论中一样,使用 regshot 之类的工具。您制作注册表的快照,使用 UI 更改一些配置,然后再次制作快照。比较结果,理论上您就可以看到它了。
白盒测试对配置进行一些更改并直接监控正在发生的事情。一个很好的工具是 procmon。
两者都要求您过滤结果(很多),因为注册表的用途远不止您更改的那个配置。这是经验大有帮助的地方。
您可以通过更改密钥来验证您是否拥有正确的密钥,并查看它是否产生效果。
我不确定这是否是您要寻找的答案。因为在您的具体示例中,您提到了组策略。它们有据可查,而且我相信有一种简单的技术可以找到注册表项,从而设置组策略。但最好由一些经验丰富的 Windows 管理员来回答这个问题 :)