在Windows 8中删除“打开文件-安全警告”?


9

我喜欢研究来自Internet各种来源的大量代码,其中很大一部分涉及下载和打开文件以查看源代码。

现在,每次我尝试打开这些文件时,都会提示我确保该文件来自有效来源,并且我相信它可以运行。

这个站点上有很多答案,可以在以下操作系统上解决此问题;Vista,XP和7,但我找不到8的版本,也没有其他任何版本可以使用!

有人可以告诉我如何为像我这样的人禁用此非常烦人的功能吗?


3
由于您在IE中设置了区域,因此将文件标记为外部文件。此信息存储在您下载的文件的[备用数据流] [1]中。您可以通过在文件的属性中单击“取消阻止”来解决此问题,但是我喜欢的运行方式是:输入filename> newfilename。删除文件名。重命名newfilename文件名。Voila-不再有备用数据流。如果太极端了,您可以使用streams.exe([download] [2])删除备用数据流。[1]:support.microsoft.com/kb/105763 [2]:technet.microsoft.com/en-us/sysinternals/bb897440.aspx
Mark Allen

2
另外,Windows 7解决方案的哪一部分不适用于Windows 8?
Mark Allen

1
@MarkAllen,您还可以使用blogs.technet.com/b/askcore/archive/2013/03/24/…上描述的powershell命令,通过该命令删除ntfs备用数据流“ Zone.Identifier”,这remove-item -path "somefile.zip" -stream "Zone.Identifier"也将起作用。
BeowulfNode42 2014年

@ BeowulfNode42我喜欢!
马克·艾伦

Answers:


3

我的全新Windows 8笔记本电脑上有一个非常相似的问题。桌面图标(.lnk)发出了相同的“打开文件安全警告”。不知道为什么或发生了什么,但不知道怎么回事。我终于找到了解决方案,至少是针对桌面图标。我不想像某些建议那样通过更改IE10设置来修复它,因为这似乎很冒险。

这为我工作:

  1. Windows button+ X打开“工具”菜单
  2. 选择:命令提示符(管理员)使用打开黑色DOS窗口 C:\Windows\system32\>
  3. 输入

    cd \Users
    

    显示屏现在显示 C:\Users>

  4. 输入(用您的用户名替换“ YourName”)

    cd YourName 
    

    显示屏现在显示 C:\Users\YourName>

  5. 输入

    cd Favorites 
    

    显示屏现在显示 C:\Users\YourName\Favorites>

  6. 输入

    cd Desktop 
    

    显示屏现在显示 C:\Users\YourName\Favorites\Desktop>

  7. 输入并输入:

    C:\Users\YourName\Favorites\Desktop>ICACLS *.LNK /L /SETINTEGRITYLEVEL MED
    

您桌面上的所有链接都应显示为:

已处理文件:whatever.lnk
成功处理了10个文件;无法处理0个文件。

很抱歉在DOS命令上花了很长的时间,我记得他们是从前回想起来的,但这是任何人都可以轻松遵循的布局。


首先进行了尝试,但没有区别。设置了SEE_MASK_NOZONECHECKS(请参见下文)。
Umber Ferrule,2015年

2

添加系统环境变量SEE_MASK_NOZONECHECKS并将其值设置为1。

确保它是系统级变量,否则它将在重新启动后消失。

在Windows 8中使用环境变量


“确定..”:您的意思是对的,但对新手没有帮助:您也可以为当前用户创建它,通常这就足够了,这取决于您想要的内容(请参见下文)。您的意思是,更改应该是永久的,如果您使用“ set”命令,则情况并非如此。
Philm 2015年

我发现(至少在Windows 7中),在登录时(在函数中)启动资源管理器之前,该SEE_MASK_NOZONECHECKSvar被删除,因此资源管理器最终没有从系统级环境变量集继承它。只是想我为其他计划尝试此方法的人提到了这一点。userinit.exeStartTheShell
Cauterite

2
@setx see_mask_nozonechecks 1

在命令提示符下键入它,或在批处理文件中执行将为当前用户创建Dasun提到的环境变量


+1有效,这很重要。为了说明,何时使用哪个命令,缺少一些信息。我将尝试在自己的答案中扩展提示。
Philm 2015年

1

如其他答案所述,更改环境变量SEE_MASK_NOZONECHECKS是解决方法。我将在这里解释更多细节。它具有优势,因为它不仅取消了“ ICACLS myfiles。* / L / SETINTEGRITYLEVEL MED”命令或类似方法的“通过Internet下载”标志,而且还可以从不安全的网络驱动器(如UNC)启动文件,也可以工作。路径。

但是有趣的一点是,如何设置此环境变量:

  1. 如果您只需要此设置,即可在外部计算机上无人值守运行,则永久更改此变量是不安全的。但是您可以在开始设置之前在过程中临时更改它,例如在带有“ SET”的批处理文件中。默认情况下,环境是继承给子进程的,例如以同一批启动。

  2. 该环境是特定于用户的。如果用户没有管理员权限,或者仅应为一个用户更改行为,请使用已经提到的命令:

    setx see_mask_nozonechecks 1

  3. 如果要永久更改行为,还想更改所有用户(整个机器)的行为,请在命令行中添加/ m参数:

    setx see_mask_nozonechecks 1 / m

还有一点要注意:使用Windows Server 2012 R2时,访问VMWare共享驱动器之类的远程(非域)驱动器时,我完全不会收到警告。我仅在Windows Server 2008 R2和更低版本(以及Win7 / 8)下才需要此技巧。


0

您应该能够通过正确设置受信任的站点来解决此问题?

否则,请尝试此操作。

Close internet explorer
Open up a cmd prompt
cd "\Program Files\Internet Explorer"
set SEE_MASK_NOZONECHECKS=1
iexplore

这样可以直接从Internet Explorer打开文件,但是磁盘上的文件仍将被“阻止”。

另一种解决方案是直接从文本阅读器(即Notepad ++)打开文件。是执行警告的资源管理器。

请参阅:“此文件来自另一台计算机...”-如何取消阻止文件夹中的所有文件而不必分别取消阻止它们?


0

修复此类文件的简单PowerShell命令:

Unblock-File -Path

从根本上,这将删除IE从其他来源下载时所拍打的ADS。如果您希望搜索并删除文件夹中所有已阻止的文件下载,以下脚本也很有用:

#Search and unblock all files recursively
$p="C:\Download Folder\*"

$c=gci -Path $p -Recurse | gi -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
foreach ($f in $c)
    {Unblock-File $f.FileName}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.