创建“解除阻止”菜单命令

创建“解除阻止”菜单命令

我安装了一个程序。安装哪个程序其实无所谓。

如果我双击可执行文件,它就可以顺利启动。

如果我在任务栏或菜单栏中创建一个链接,单击该链接将打开一个警告对话框:“打开文件 - 安全警告”,详细说明“虽然来自互联网的文件可能有用,但这种文件类型可能会损害您的计算机”。

我知道我能消除警告, 但是我想要移除安全全部链接。仅来自一,并且我想在这样做时授予 UAC 访问权限。在那之后该链接应该经过审核并立即开放曾经

如果我在桌面上创建链接,然后将其复制到菜单栏中, 然后我移动同一菜单栏中的链接,我最终得到了同一菜单栏上的链接。

第一个会打开对话框。第二个则不会:它直接打开应用程序。

这时我很好奇:这两个文件有什么区别?

  • 文件名:没有.
  • 文件内容:都不是。它们具有相同的 MD5 哈希值。
  • 属性:没有乐趣,它们具有相同的属性。
  • 也许是备用数据流?可能是——但不是。两个 .LNK 文件都没有附加 ADS。
  • 在注册表中?这没什么意义,但注册表中似乎也没有与此相关的任何内容。
  • MFT 元数据?我尝试使用此工具并且可能犯了一些错误,但我没有发现任何明显的问题(请注意,我不太确定是否存在)。

我尝试查看 $MFT 元数据,发现两个文件的“常规信息”字段之间存在差异,但我不知道其重要性。NTFS Explorer 报告这些部分相同;但实际上并非如此。在日期字段和 DOS 属性之后,有两个不同的十六进制序列:

File1
00 00 00 00 88 03 00 00 00 00 00 00 00 00 00 00 
10 45 41 22 00 00 00 00

File2
00 00 00 00 A6 03 00 00 00 00 00 00 00 00 00 00 
18 44 41 22 00 00 00 00

如果差异只有 1 位,我就会确定,但事实并非如此。我不太愿意随机修改 $MFT 看看会发生什么——我有点害怕会发生什么可能发生。而且,在我看来,一个并非不合理的操作(“删除此处链接的警告”),对此甚至存在一种容易找到的解决方法(“在桌面上创建链接,然后从那里移动到真正需要去的地方“)竟然如此复杂,甚至需要第三方工具。

我希望应该有一些捆绑的工具或程序具有相同的效果,以允许编辑这个神秘而难以捉摸的“互联网警告”标志。

所以在哪里它被存储了吗?有没有简单的方法可以将其删除(以便下次使用)?

答案1

该信息实际上位于 DACL 区域中,可以使用以下命令从命令行进行编辑适当的工具

这将删除“filename.lnk”的警告(必须从命令 shell 运行,为了怀旧,我使用 CMD):

ICACLS filename.lnk /SetIntegrityLevel M /L

整个目录树的链接可以用

ICACLS *.lnk /T /L /SetIntegrityLevel M

从根文件夹运行。

我认为可以创建一个 shell 操作(“解除阻止”),在右键单击 .LNK 文件时运行 ICACLS 命令。可以找到一个入门教程这里(Vista,但 Seven 应该不会有太大差别)。

创建“解除阻止”菜单命令

  1. 打开REGEDIT实用程序。应采取通常的预防措施。 REGEDIT 可能会破坏您的系统!
  2. 打开HKEY_CLASSES_ROOT蜂巢。
  3. 找到lnkfile条目。
  4. 右键单击 lnkfile 并选择“新建 > 项”。
  5. 创建一个名为“shell”的新键。
  6. 重复以上步骤,在“shell”内创建一个名为“Unblock”的键。
  7. 重复上述操作,在“解除阻止”内创建“命令”
  8. 编辑 Unblock 键的默认值,使其显示为

    CMD.EXE /S /C "ICACLS %1 /L /SetIntegrityLevel med"
    

关闭REGEDIT

现在找到给你带来麻烦的 LNK。右键单击它;你应该能够在菜单中看到“解除阻止”条目。选择它。

会出现一个需要同意的 UAC 提示,并且还可能出现一个警告,检查您是否真的确定要这样做。

现在,如果您再次双击该链接,应用程序就会顺利启动。如果您收到 UAC 警告而非文件打开警告,则上述步骤还不够。您还需要右键单击该链接,然后从其属性中选择“以管理员身份运行”(您可能必须对应用程序本身执行相同操作)。

已在 Windows 7 Pro 和 Ultimate 上测试并运行。

相关内容