脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - PowerShell - PowerShell因为在此系统中禁止执行脚本的解决方法

PowerShell因为在此系统中禁止执行脚本的解决方法

2020-07-07 11:50PowerShell教程网 PowerShell

今天看到国外的一篇文章可以在cmd中运行95版本的ps1格式的批处理,但经过测试默认情况下powershell支不支持执行脚本需要执行如下操作

在Powershell直接脚本时会出现:

无法加载文件 ******.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。
所在位置 行:1 字符: 17
+ E:\Test\test.ps1 <<<<
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException

ps1的内容:

PowerShell因为在此系统中禁止执行脚本的解决方法

在powershell中执行 set-ExecutionPolicy RemoteSigned

PowerShell因为在此系统中禁止执行脚本的解决方法

下图可以看到原来是无法运行对的,执行了上面的命令后就可以了,如下图

PowerShell因为在此系统中禁止执行脚本的解决方法

查看“get-help about_signing”:

主题
about_signing

简短说明
说明如何对脚本进行签名以使其符合 Windows PowerShell 执行策略。

详细说明
Restricted 执行策略不允许任何脚本运行。
AllSigned 和 RemoteSigned 执行策略可防止 Windows PowerShell 运行没有数字签名的脚本。

本主题说明如何运行所选未签名脚本(即使在执行策略为 RemoteSigned 的情况下),还说明如何对
脚本进行签名以便您自己使用。

有关 Windows PowerShell 执行策略的详细信息,请参阅 about_Execution_Policy。

允许运行签名脚本
-------------------------------
首次在计算机上启动 Windows PowerShell 时,现用执行策略很可能是 Restricted(默认设置)。

Restricted 策略不允许任何脚本运行。

若要了解计算机上的现用执行策略,请键入:

get-executionpolicy

若要在本地计算机上运行您编写的未签名脚本和来自其他用户的签名脚本,请使用以下命令将计算机上的
执行策略更改为 RemoteSigned:

set-executionpolicy remotesigned

有关详细信息,请参阅 Set-ExecutionPolicy。

 

执行“set-ExecutionPolicy RemoteSigned ”:

 

执行策略更改
执行策略可以防止您执行不信任的脚本。更改执行策略可能会使您面临 about_Execution_Policies
帮助主题中所述的安全风险。是否要更改执行策略?
[Y] 是(Y) [N] 否(N) [S] 挂起(S) [?] 帮助 (默认值为“Y”): y

Run a CMD batch file

To run a batch script from the CMD shell, save the file as plain ASCII text with the file extension .CMD, then from the command line, enter the name of the script and press return.

C:\Batch> Demo.cmd

To run a batch file from within another batch file, use the CALL command, otherwise the first script will exit without performing any further commands.

It is also possible to run batch scripts with the old (Windows 95 style) .BAT extension, but be aware that these will set ERRORLEVEL differently.

Run a Powershell script
To run a PowerShell script from the CMD shell:

 

复制代码 代码如下:

C:\> powershell -file "c:\batch\demo.ps1"

 

Run a VBScript file

To run a VBScript from the CMD shell:

复制代码 代码如下:

C:\> cscript c:\batch\demo.vbs

 

“The method of the enterprising is to plan with audacity and execute with vigor” ~ John Christian Bovee

延伸 · 阅读

精彩推荐