我正在尝试从我信任的共享文件夹中执行脚本:
PowerShell -file "\\server\scripts\my.ps1"
但我得到安全警告,并且必须按'R'继续
安全警告仅运行脚本 你相信。来自的脚本 互联网可以很有用,这个脚本 可能会损害您的计算机。做 你想跑 \服务器\脚本\ my.ps1? [D]不要 运行[R]运行一次[S]暂停[?] 帮助(默认为“D”):d
我可以忽略此警告吗?我想要的伪代码是:
PowerShell -IGNORE_SECURITY_WARNING -file "\\server\scripts\my.ps1"
答案 0 :(得分:79)
"PowerShell Execution Policies in Standard Images" on Lee Holmes' Blog和"PowerShell’s Security Guiding Principles" on the Windows Power Shell Blog 已触及此内容。
<强>摘要强>
有些机器将UNC路径视为大坏网络,因此PowerShell将它们视为远程文件。您可以在这些服务器(UncAsIntranet = 0,
)上禁用此功能,也可以将远程计算机添加到可信主机。
如果您不想这样做,PowerShell v2支持-ExecutionPolicy
参数,该参数完全符合您的伪代码所需。 PowerShell -ExecutionPolicy Bypass -File (...)
。
答案 1 :(得分:42)
为避免警告,您可以:
Set-ExecutionPolicy bypass
答案 2 :(得分:37)
如果您从下载的PowerShell脚本中遇到此错误,则可以通过以下方式取消阻止脚本:
右键点击相关的.ps1
文件,然后选择属性
点击文件属性
中的取消屏蔽
点击确定
答案 3 :(得分:11)
只需将1分配给SEE_MASK_NOZONECHECKS env变量
$env:SEE_MASK_NOZONECHECKS = 1
Start-Process $msi_file_path /qn -Wait | out-null
答案 4 :(得分:3)
试试这个,编辑文件:
notepad foo.ps1:Zone.Identifier
并设置'ZoneId = 0'
答案 5 :(得分:2)
您希望使用Set-ExecutionPolicy在您的计算机上设置执行策略:
Set-ExecutionPolicy Unrestricted
您可能需要调查各种执行政策,以了解哪一项适合您。有关详细信息,请查看“help about_signing
”。
答案 6 :(得分:2)
这些都不适用于我的具体实例。从FQDN更改为NetBIOS名称的是什么。
而不是:
\\server.domain.net\file.ps1
用途:
\\server\file.ps1
使用该名称绕过IE中的“自动检测Intranet网络”配置。
请参阅博客中的选项1: http://setspn.blogspot.com/2011/05/running-powershell-scripts-from-unc.html
答案 7 :(得分:2)
我制作了这个powershell脚本来取消阻止我服务器上共享的所有文件
Get-ChildItem "\\ServerName\e$\MyDirectory\" -Recurse -File | % {
Unblock-File -Path $_.FullName
}
答案 8 :(得分:1)
答案 9 :(得分:0)
假设您需要从共享文件夹
启动ps脚本copy \\\server\script.ps1 c:\tmp.ps1 /y && PowerShell.exe -ExecutionPolicy Bypass -File c:\tmp.ps1 && del /f c:\tmp.ps1
P.S。 减少谷歌搜索)
答案 10 :(得分:0)
这非常简单,如果您有许多ps1文件,请打开PowerShell并编写以下命令。在这里,您必须使用自己的路径更改路径。
PS C:\Users> Get-ChildItem -Path "D:\downlod" -Recurse | Unblock-File
答案 11 :(得分:0)
尝试使用set-executionpolicy“ Policyname” -force开关,警告弹出窗口就不会出现。
答案 12 :(得分:0)
对于那些想要从已加载的PowerShell会话访问文件的用户,请使用Unblock-File将文件标记为安全(尽管您已经需要为Unrestricted
设置宽松的执行策略,例如),或者仅针对当前PowerShell会话更改执行策略:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process