PowerShell脚本写的文件.ps1文件介绍
.ps1文件是PowerShell写好的脚本文件。在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢?
什么是“.ps1”文件?
这个是PowerShell写的脚本文本,你可以在记事本中写一段PowerShell代码,然后将其保存为“xxx.ps1”,后面要使用它的时候,双击即可运行了。这有点像批处理的“.bat”文件,也有点像VBScript的“.vbs”文件。这些都是Windows的脚本文件。
如何执行“.ps1”文件?
接下来大家会问,那我们就双击它运行好了,还有什么好说的吗?当然要说。我们想得很美,双击一下就执行了,但是Windows系统默认是不允许执行.ps1文件的,所以你得往下看。
执行不成功的解决办法
1、将PowerShell的脚本内容保存到一个.ps1为后缀的文件中。
2、双击执行此ps1文件很有可能无法执行,提示:无法加载文件 D:\PowerShell\test\myfirst1.ps1,因为在此系统中禁止执行脚本。
3、运行get-executionpolicy,如果结果是Restricted,那表示禁止执行脚本。
4、执行如下命令,降低系统的安全性,允许执行脚本:set-executionpolicy -executionpolicy unrestricted
关于执行策略
这里有一个executionpolicy,翻译过来就是执行策略。Windows对PowerShell脚本默认的执行策略是:不允许执行,即Restricted。把它改成unrestricted自然就可以执行了。但微软给出的Best Practise(“最佳实践”)是RemoteSigned,这个级别比UnRestricted要高一点,不是什么程序都能执行。据我简单的了解,RemoteSigned是要求远程下载的ps1脚本文件必须是签名的才可以执行。至于我们在本机上自写的脚本程序,那是没有区别,都可以执行的。
修改执行策略需要权限
另外需要说明的是,如果是在Win7、Win8、Windows 2008、Windows 2012等系统上,且不是使用administrator账号来执行这个set-executionpolicy语句,将会报错,错误如下:
Set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的访问被拒绝。
这时候小编很疑惑,我使用账号虽然不是administrator,但也是administrators组的,为什么会没有权限呢?不管了,在注册表中,找到这个键,然后点右键选择“权限”,然后给当前登录系统的账号加一个“完全控制”的权限(只有“只读”和“完全控制”两个权限,所以就选“完全控制”了)。然后,再重新执行set-executionpolicy -executionpolicy unrestricted,就可以成功了!
阅读更多- PowerShell脚本写的文件.ps1文件介绍
- PowerShell 无法加载文件ps1,因为在此系统中禁止执行脚本
- 直接双击运行PowerShell的脚本文件.ps1
- 直接双击运行PowerShell的脚本文件.ps1
- PowerShell 默认不允许执行ps1脚本文件
- nuget包管理器控制台下的powershell脚本介绍
- PowerShell使用 invoke-sqlcmd 连行脚本文件,并向脚本文件存入参数
- dirname命令介绍-使用dirname在shell脚本中获取当前脚本文件所在的绝对路径
- 如何将命令行参数传递给 PowerShell ps1文件
- 简单介绍如何用脚本方式去执行一个py文件
- 数据库管理——Powershell——使用Powershell脚本找出消耗最多磁盘空间的文件
- [2月27日的脚本] 在Windows 8中向上下文菜单中添加“显示/隐藏隐藏文件” (PowerShell)
- powershell 备份文件脚本
- HID高级攻击姿势:利用PowerShell脚本进行文件窃取
- Powershell脚本获取列表上event receiver信息并输出到一个csv文件中
- 数据库管理——Powershell——使用Powershell脚本找出消耗最多磁盘空间的文件
- 如何运行PowerShell的脚本文件
- PowerShell入门教程之函数、脚本、作用域介绍
- Shell脚本文件头介绍
- 数据库管理——Powershell——使用Powershell脚本找出消耗最多磁盘空间的文件