- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从 https://www.powershellgallery.com/packages/ImportExcel/7.1.0 安装了这个模块在我们的 Windows Power shell 中:-
Install-Module -Name ImportExcel -RequiredVersion 7.1.0
然后我运行这个命令,但我发现该脚本没有经过数字签名:-
PS C:\WINDOWS\system32> Import-Module ImportExcel
Import-Module : File C:\Program Files\WindowsPowerShell\Modules\ImportExcel\7.1.0\ImportExcel.psm1 cannot be loaded.
The file C:\Program Files\WindowsPowerShell\Modules\ImportExcel\7.1.0\ImportExcel.psm1 is not digitally signed. You
cannot run this script on the current system. For more information about running scripts and setting execution policy,
see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ Import-Module ImportExcel
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [Import-Module], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess,Microsoft.PowerShell.Commands.ImportModuleCommand
为了解决这个问题,我运行这个命令Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
..那么这安全吗?
最佳答案
tl;博士
# Save the current execution policy...
$currPolicy = Get-ExecutionPolicy
# ... and temporarily set the policy to 'Bypass' for this process.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
# ASSUMING YOU TRUST MODULE ImportExcel:
# Execution of scripts in the context of importing the module is
# now permitted.
Install-Module -Name ImportExcel -RequiredVersion 7.1.0
# Restore the previous execution policy for this process.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy $currPolicy -Force
解释一下Santiago Squarzon对这个问题的有用评论:
PowerShell 的 execution policies通过控制是否以及在什么条件下允许执行脚本文件(.ps1
)来防止潜在危害:受限
完全阻止执行,AllSigned
仅允许执行加密签名脚本,RemoteSigned
仅需要从网络下载的脚本待签名,Unrestricted
对执行不施加任何限制,但提示确认执行互联网下载脚本的意图,Bypass
不限制执行完全没有。
这意味着,当有效策略阻止执行给定脚本时,这并不意味着特定脚本实际上包含有害内容 - 策略从不检查这一点,他们纯粹按照正式标准行事。
当然,相反,任何给定的脚本都可能包含有害内容。
您似乎正在使用 ImportExcel
module来自PowerShell Gallery ,开源 PowerShell 模块的官方存储库;画廊主题模块提交给security checks .
您已经安装此模块的事实表明您原则上信任它。 (当然,您可以通过 (Get-Module ImportExcel -ListAvailable).Path
报告的目录亲自检查相关脚本以及整个模块。)
导入它碰巧涉及运行脚本 (*.ps1
),这并非全部 modules do (这样做用于模块内部帮助程序脚本或通过 ScriptsToProcess
module-manifest 条目中指定的脚本对调用者的范围进行所需的修改)。
换句话说:
Import-Module
调用可能根本不涉及执行脚本,但它总是涉及将命令导入到 session 中,您绝对应该信任才能使用它们。
因此,导入模块应该是一个全有或全无的信任提议,如果您确实信任它,则有效的执行策略不应妨碍导入它。
上面显示的代码通过有效地将其范围限定到感兴趣的模块导入,最大限度地降低了使进程级策略更加宽松的风险。
顺便说一句:这个问题甚至不会出现在执行策略不适用的类 Unix 平台(需要跨平台 PowerShell (Core) v6+ 版本)上。
关于powershell - 运行 `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68504743/
我从 https://www.powershellgallery.com/packages/ImportExcel/7.1.0 安装了这个模块在我们的 Windows Power shell 中:-
我有一个 Powershell 脚本,它存储在我域中一台机器上的共享文件夹中。现在我想在 DMZ 中的服务器上运行此脚本。什么 ExecutionPolicy 必须 de 域服务器和 dmz 服务器必
向客户提供脚本时,除非他们设置了执行策略,否则脚本不会执行。 向客户提供脚本时的常见做法是什么? set-executionpolicy 是否将作为脚本中的第一个命令运行,以便它可以毫无错误地执行,或
我正在编写脚本以在使用前准备我们的笔记本电脑。它实质上是安装证书并将执行策略设置为 AllSigned。 它通过鼠标右键单击和“使用 Powershell 运行”来执行。这是 windows 10 标
使用 Get-ExecutionPolicy -list 时在 VSCode for PowerShell v5 x64 & x86 中,它返回以下内容: Scope Executio
C++17 通过使用可选的 ExecutionPolicy 参数(作为第一个参数)升级了 69 个 STL 算法以支持并行性。例如。 std::sort(std::execution::par, be
我正在构建一些服务器,需要在它们上运行一些 powershell 脚本。但是,我需要运行命令 Set-ExecutionPolicy -ExecutionPolicy remotesigned -Fo
根据我用来获取 PowerShell 执行策略设置的方法,我得到了两个不同的值。 如果我在 PowerShell 提示符下运行 Get-ExecutionPolicy,我会得到“Unrestricte
我在运行任何 powershell 脚本时遇到以下错误。它只发生在一个客户的服务器上。我不确定是什么触发了这个命令。 如果我将此注册表项从 RemoteSignedto 更改为 ByPass,错误就会
我正在关注 Chocolately Install步骤(Windows 7),但遇到了一些问题。 首先,我开通了命令提示符 (用 以管理员身份运行 打开),但是当试图执行时 Set-Execution
我正在尝试在 VS2005 项目上运行作为预构建的一部分的 powershell 脚本。我跑了 $> powershell Set-ExecutionPolicy UnRestricted 从构建之前
我喜欢在 Windows 10 上的 PowerShell 中使用几个别名。 我希望它们在 session 之间保持不变,因此我将它们放在 C:\Users{username}\Documents\W
PowerShell的Set-ExecutionPolicy命令被禁止了,所以不能这样运行: PS> .\script.ps1 (enter) 除了从“Windows PowerShell ISE”之
“Set-ExecutionPolicy”未被识别为内部或外部命令, 可运行的程序或批处理文件。尝试通过 cmd 安装巧克力时出现此错误 最佳答案 Set-ExecutionPolicy是一个 Pow
我已经在一台特定的 PC 上使用 NuGet 有一段时间了。现在,我在 VS2010 中创建了一个新项目(如果重要的话,它是使用单页应用程序模板的 MVC 4 Beta 项目)。当我选择 工具/库包管
我有一个Node.js我试图调用的应用程序 PowerShell : var app = require('express')(), child_process = require('chil
这对于 Windows 大师来说应该是微不足道的,但对于 *nix 历史学家来说似乎相当令人生畏。 我想仅打印表中的Scope和ExecutionPolicy值,通过以下方式获得: # Actual
我想以普通用户身份在 Windows 7 上运行 PowerShell 脚本。每当我尝试时,都会收到以下错误: File C:\Users\danv\Documents\WindowsPowerShe
在 C++17 中引入了并行标准算法(使用 ExecutionPolicy 参数重载),其中定义了执行顺序、交错和并行化的严格规则,例如([algorithm.parallel.exec/3]): T
我有一个将在 Bamboo 中运行的 powershell 脚本,它将更新 Bamboo 构建的状态。这在 Github 中调用,然后状态将更新调用脚本的任何构建。这目前在 Windows 机器上运行
我是一名优秀的程序员,十分优秀!