当前位置: 首页 > 编程笔记 >

PowerShell脚本写的文件.ps1文件介绍

袁单鹗
2023-03-14
本文向大家介绍PowerShell脚本写的文件.ps1文件介绍,包括了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,就可以成功了!

 类似资料:
  • 我正在尝试在windows 2012R2中运行powershell脚本版本5.1 powershell。exe-NoProfile D:\test2。powershell命令控制台上的ps1(我不使用系统上的任何配置文件编写脚本会话) $profile 我得到输出C:\Users\XXXXX\Documents\WindowsPowerShell\Microsoft。PowerShell\u配置文

  • 问题内容: 如何从“脚本” 执行PowerShell ps1脚本? 我知道如何在package.json“ scripts”中设置基本脚本。例如,使用以下配置,我可以执行该命令,该命令将向控制台输出“这仅仅是测试”: 但是,我有一个更高级的场景,我想执行一个PowerShell脚本。像这样: 我可以通过scripts对象执行这样的ps1脚本吗?是否需要任何特殊的设置/配置?还有其他限制吗? 问题答

  • 我在下面运行这个脚本,当我在powershell内部执行时,它会运行并提供我请求的确切链接。当我保存在一个ps1文件中并调用该文件时,我得到了这个错误。为什么它在powershell中运行良好,但在实际文件中却无法运行? 我的代码: 错误: 位于C:\Users\Documents\DMIS\web\u\2。ps1:6字符:178。。。HTML-不象“Change”)-和($u.innerHTML

  • 问题内容: 我正在尝试从Jenkins管道中的文件运行Powershell脚本。 我已经阅读了本文,该文章显示了如何运行输入到管道中的Powershell脚本,但是我无法从文件中运行脚本。 我努力了: 和各种组合,但无法弄清楚该如何做。 问题答案: 很快就弄清楚了,该行应该已经阅读

  • 本文向大家介绍Powershell脚本中包含文件资源的例子,包括了Powershell脚本中包含文件资源的例子的使用技巧和注意事项,需要的朋友参考一下 Powershell3.0及以后版本。 如果你的脚本需要添加额外资源,比如文本中的服务器名、图片名等等,这时你需要考虑脚本的灵活性。 不要使用绝对路径去指派你的资源路径,在Powershell3.0中可以使用$PSScriptRoot替代你的脚本路

  • 在检索目录中的递归文件列表时,是否有一种简单的方法来剥离根目录? 例如 但不是这个给我: 它给了我: 这是可能在一行中还是我必须写一个循环? 还有一种输出方法,它不会在线条之间创建间隙,也不会在顶部显示select属性的名称吗?(在本例中为“全名”),还是我只需手动循环并忽略它们?