如何创建和运行PowerShell脚本?

Powershell脚本只需运行脚本文件即可完成任务。这提供了一种易于使用的方法来反复运行相同的命令。脚本还用于轻松地与其他系统管理员共享经验。脚本有时可能需要运算符的参数。在本教程中,我们将研究Powershell脚本的不同方面和使用形式。

null

使用执行策略启用Powershell脚本执行

安全是当今的一个重要话题。微软从以前的错误中学到了很多东西。它为其强大的脚本引擎Powershell创建了一些安全机制。

打印当前执行策略

Get-ExecutionPolicy 用于列出执行策略的当前状态。我们会像下面这样。

PS> Get-ExecutionPolicy
Print Current Execution Policy
打印当前执行策略

我们可以看到,当前的执行策略是 Restricted 这意味着我们不能运行下载的PowerShell脚本。

启用执行策略

我们可以使用命令更改PowerShell执行策略 Set-ExecutionPolicy 通过指定新策略名称。我们将通过指定名为 Unrestricted . 为了更改当前shell,它应该具有管理员权限。如果脚本在系统上被禁用,这将运行脚本。

PS>  Set-ExecutionPolicy Unrestricted
Enable Execution Policy
启用执行策略

我们只需回答 Y 确认问题。

创建简单的PowerShell脚本

为了在测试中使用它,我们将创建一个名为 helloworld.ps1 包含以下脚本。 ps1 用于指定PowerShell脚本。

echo "Hello World"

在当前目录中运行脚本

我们可以简单地运行驻留在当前目录中的脚本。在本例中,我们将运行 helloworld.ps1 . . 是当前工作目录。

PS> .helloworld.ps1

带空格的路径

空格在Powershell中有不同的含义,带有空格的路径、文件或命令名必须用双引号括起来 " ' 单引号。在本例中,我们有一个名为 hello world.ps1 . 我们看得出来 你好 世界 用空间隔开。为了调用这个Powershell脚本,我们需要使用 " 它将围绕 把名字写得一清二楚。

PS> ".hello world.ps1"

如果不使用下面的单引号或双引号,我们将得到CommandNotFound类型的“未识别的cmdlet、函数、脚本文件或可操作程序错误名称”。

PS> .hello wordl.ps1
Path with Spaces
带空格的路径

使用Invoke命令Commandlet

Powershell提供 Invoke-Command 用于命令调用的commandlet。我们可以用这个来做脚本调用。更详细的关于 Invoke-Command 可以在下面找到。

相关文章: Linux Su命令教程及示例

使用Powershell Invoke Command Cmdlet在本地和远程系统中运行命令

使用CMD.exe运行

我们可以从Powershell调用不同的shell。例如,我们可以调用命令 python 并通过指定python解释器从Powershell编写脚本。我们也可以跑步 cmd.exe 调用下面这样的MS-DOS脚本。但请记住,MSDO只能运行 bat 文件夹。

PS> cmd.exe /C helloworld.bat

无出口运行

脚本完成后,PowerShell窗口将在进程完成时关闭。如果我们需要阻止退出命令提示符,我们可以使用或 Runcmd.exe 通过提供with选项 -noexit .

PS> powershell -noexit .helloword.ps1

以管理员身份运行PowerShell和脚本

如果脚本需要管理员权限,我们应该使用脚本需要的管理员权限启动进程。我们可以通过右键单击现有的Powershell屏幕来启动Powershell。

Run PowerShell and Script As Administrator
以管理员身份运行PowerShell和脚本

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享