.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,就可以成功了!

原文来自:http://www.splaybow.com/post/powershellexecps1.html

PowerShell让系统可以执行.ps1文件的更多相关文章

  1. PowerShell让系统可以执行.ps1文件,开机,关机,在线时间 , Function自定义函数

    Function Get-ComputerUptimeHistory { $q=' <QueryList> <Query Id="0" Path="Sy ...

  2. windows系统开机执行文件

    以下都是在windows系统下执行的 开机自启程序 新建xxx.bat的文件 编辑自己的bat文件,将所要加载的项目引导进来 注意: 如果有相对路径的话,就需要先加载项目,在用python 执行脚本程 ...

  3. 内核启动文件系统后第一个执行的文件(inittab启动脚本分析)

    Linux 开机脚本启动顺序: 第一步:启动内核 第二步:执行init (配置文件/etc/inittab) 第三步:启动相应的脚本,执行inittab脚本,并且执行里面的脚本/etc/init.d ...

  4. visual studio code 执行 sp1 文件

    需要安装插件PowerShell 如提示 Unsupported PowerShell version 2.0, language features are disabled  (不支持的PowerS ...

  5. powershell 远程下载并执行

    远程下载文件到本地并执行cmd.exe /c powershell.exe -ExecutionPolicy bypass -noprofile -windowstyle hidden (new-ob ...

  6. 分享原创powershell脚本小工具ctracert.ps1

    ----------[脚本介绍]----------- 脚本名称:ctracert.ps1软件名称:灰主牛 跟踪路由 归属地版 V1.0脚本作用:1跟踪路由.2显示归属地.(注意不带显示时间功能)脚本 ...

  7. 在本地主机上powershell中连接远程主机执行vbs脚本,得到执行结果(2008版及以上)

    在桌面版的主机上远程管理服务器版主机,在本地powershell中连接远程主机执行vbs脚本,得到执行结果. 执行步骤: 1.将本地主机上的Hyper.vbs复制到远程连接主机上.例如,本地vbs脚本 ...

  8. MySQL命令执行sql文件的两种方法

    MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希 ...

  9. linux系统学习笔记:文件、目录、用户

    本篇主要从stat函数开始,逐个说明stat结构的每一个成员,以此来了解文件的所有属性.同时将说明修改这个属性的各个函数. 一.文件 使用stat函数族得到和文件有关的信息结构. #include & ...

随机推荐

  1. c++实现之 -- 文章TF-IDF值的计算

    首先,是关键词的选取: 好吧这个我这模型实在是太简单了,但还是讲一讲比较好呢... 我们现在手头有的是一堆百度百科词条w的DF(w, c)值,c是整个百科词条...原因是...方便嘛~(而且人家现成的 ...

  2. iOS App Icon图标 尺寸规范

    Commit to AppStore:1024*1024 //for App IconIcon-60@3x.png:180*180 //iPhone 6 Plus (@3x)Icon-60@2x.pn ...

  3. js在mootools框架下的new Class

    首先,在HTML文件中引入mootools.js. mootools-more.js.mootools-core.js,然后就能使用mootools封装的一些特性. 几乎类似于面向对象. mootoo ...

  4. Android的SwipeToDismiss第三方开源框架模拟QQ对话列表侧滑删除,置顶,将头像图片圆形化处理。

      <Android SwipeToDismiss:左右滑动删除ListView条目Item> Android的SwipeToDismiss是github上一个第三方开源框架(github ...

  5. bzoj 2243: [SDOI2011]染色

    #include<cstdio> #include<iostream> #define M 1000006 #define N 1000006 using namespace ...

  6. CSS 奇技淫巧十八招

    http://www.tuicool.com/articles/VZneI3   開始覺得自己會寫 CSS 也算有一段時間了,常常遇到一些非常實用的技巧不斷地反覆使用,但是我個人覺得對初學者來說很難從 ...

  7. Servlet上

    JavaWeb应用的概念 Java Web应用由一组Servlet.HTML页.类.以及其它可以被绑定的资源构成.它可以在各种供应商提供的实现Servlet规范的 Servlet容器 中运行. Jav ...

  8. 戴文的Linux内核专题:06配置内核(2)

    转自Linux中国 这一部分我们讲配置内核IRQ子系统.中断请求(IRQ)是硬件发给处理器的一个信号,它暂时停止一个正在运行的程序并允许一个特殊的程序占用CPU运行. 这个目录中的第一个问题属于内核特 ...

  9. MonoRail学习:可重复组件ViewComponents的使用

    在MonoRail中我们可以定义一些可重用的组件,在其他需要使用的页面引入这个组件就可以了.有点相当于.NET中的自定义控件,可以节约代码,方便开发,提高重用性. 在MonoRail中把这一功能叫做V ...

  10. MATLAB axes

    本帖由MATLAB技术论坛(http://www.matlabsky.com)原创,更多精彩内容参见http://www.matlabsky.com axes ★★★★★ 功能 创建坐标系图形对象 语 ...