我在计算机上运行任何脚本时突然开始收到此警告:
仅运行您信任的脚本。虽然来自互联网的脚本很有用,但这个脚本可能会损害您的计算机......
截图:
文件未被阻止。
我有
Unblock-File
cmdlet取消阻止。Get-Content -Path '\\Path\Script.ps1' -Stream Zone.Identifier
。没有找到Streams。streams.exe -d \\Path\Script.ps1
。找不到包含流的文件。还尝试使用Powershell删除流:
Remove-Item -Path \\Path\Script.ps1 -Stream Zone.Identifier
当然没有成功,因为没有流。
执行政策不受限制。
当我运行Set-ExecutionPolicy Bypass时,它会在没有警告的情况下运行。 但是,它应该在不受限制的情况下起作用。
老实说,我不知道发生了什么。
答案 0 :(得分:2)
搜索后我找到了一个有类似问题的人,并解释说经典UNC路径可以正常工作,而不会提示解锁文件:
\\Servername\Path...
但是,默认情况下,FQDN路径不会被视为安全路径,并会提示:
\\Servername.foo.local\Path...
我自己的测试证实这是正确的,因为从路径中删除.foo.local
会导致Unblock-File
提示停止。
答案 1 :(得分:1)
LGPE> gpedit.msc
计算机配置>管理模板,> Windows组件,> Internet Explorer>展开Internet控制面板。 安全页面> Intranet站点:包括未在其他区域中列出的所有本地(Intranet)站点,然后单击“属性”。 单击“已启用”。
打开Intranet的自动检测,然后单击“属性”。 单击“已禁用”,然后单击“确定”。
或注册表
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\"UNCAsIntranet" = "0"
答案 2 :(得分:0)
将所有本地站点视为 Intranet 区域的一部分的正确注册表项、名称和值是:
Keys:
HKLM\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap
HKCU\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap
Name: IntranetName
Type: DWORD
Value: 1
您可以通过 PowerShell 为本地计算机设置此项(在提升的提示中),如下所示:
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap" -Name "IntranetName" -Type DWord -Value 1
有关组策略的详细信息,请参阅 Intranet Sites: Include all local (intranet) sites not listed in other zones。
答案 3 :(得分:-3)
PS默认情况下不允许Scripts在系统ENV上运行。 您需要将策略设置为不受限制或远程签名 使用: Set-ExecutionPolicy Remotesigned 要么 Set-ExecutionPolicy Unrestricted
打开PS控制台并输入,然后按Enter键,然后尝试运行脚本。