如何配置性能监视器来创建不需要提升权限即可访问的目录?

如何配置性能监视器来创建不需要提升权限即可访问的目录?

我有一些性能计数器,它们会写入默认位置 ( %SYSTEMDRIVE%\Perflogs) 中的 CSV 文件。它创建的目录是“特殊的”。当我尝试浏览它们时,资源管理器会抱怨

在此处输入图片描述

我可以单击“继续”,然后我就不再遇到使用资源管理器浏览目录的问题了。

但是,如果我尝试通过未提升权限的 cmd shell 访问目录,则会收到 ACCESS_DENIED 错误。使用提升权限的 cmd,我可以毫无问题地访问数据文件。

icacls 报告了有关该目录的信息(在我浏览该目录之前)

MEMTEST2_20190724-000004 NT AUTHORITY\SYSTEM:(OI)(CI)(F)
                         BUILTIN\Administrators:(OI)(CI)(F)
                         BUILTIN\Performance Log Users:(OI)(R)

我正在运行的用户已经在Performance Log Users

  1. 当我“永久访问该文件夹”时实际上发生了什么?
  2. 这个目录实际上是如何保护自己免受非提升级别的访问的?
  3. 有没有一种好的方法来“取消保护”目录,而无需重新配置性能计数器以写入其他位置?
    • 我读这个答案,其中描述了如何创建事件监听器以在计数器启动时取消保护目录。没有其他方法了吗?

答案1

此行为是由用户帐户控制引起的:即使您属于管理员组,您运行的进程(包括 Windows 资源管理器和 CMD)实际上也没有管理权限,您必须使用“以管理员身份运行”命令明确请求它们;但是,这不能对 Explorer 本身执行,因为它始终在运行,因此您无法运行它的另一个提升的实例(除非您先将其终止,从而丢失您的 shell;这可以完成,但需要笨拙的解决方法)。

但是,Windows 资源管理器本身知道 UAC 的工作原理;因此,当您尝试访问只有管理员才有权访问的文件夹时,它会检测到您管理员成员,但它没有在提升模式下运行,它会尝试提供帮助并询问您是否要“永久访问”该文件夹;如果您单击Continue 您的用户帐户的显式授予 ACE 已添加到文件夹中:这允许您直接访问文件夹,而不必依赖您的管理权限,从而绕过 UAC。

令我感到疑惑的是,这是 UAC 和 Explorer 的标准行为(尽管存在争议),但是只有涉及行政权利时才会发生这种情况;如果您有权访问某个文件夹,因为您属于可以访问该文件夹的普通组(非管理员),则 UAC 根本不应该介入。

除非 Windows 在 UAC 方面将“性能日志用户”组视为与“管理员”组一样,因此需要提升才能实际使用其成员资格;如果是这种情况,这对我来说是个新闻,我无法在任何地方找到它的引用。

相关内容