当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何从 PowerShell 运行 ps1 文件

作者:精品下载站 日期:2024-12-14 05:27:14 浏览:14 分类:玩电脑

如何从 PowerShell 运行 ps1 文件


[玩转系统] 如何从 PowerShell 运行 ps1 文件

从 PowerShell 命令行运行

要从 PowerShell 命令行运行 PowerShell 脚本(.ps1 文件):

  • 以管理员身份启动 PowerShell 并等待 PS> 提示符出现。
  • 导航到包含 PowerShell 脚本文件的目录。
  • 键入 .\,后跟 ScriptFileName.ps1,然后按 Enter 执行脚本。

从 PowerShell 命令行运行:

.\test.ps1
<#
test.ps1 has the following command that will
be executed when we will run the script
Write-Host "You've successfully run PowerShell Script."
#>

输出 :

You've successfully run PowerShell Script.

您必须满足一些先决条件才能按照上述步骤执行 PowerShell 脚本。首先,您必须能够以管理员身份运行 PowerShell。其次,您必须能够绕过 PowerShell 执行策略或将其设置为宽松的值。

现在的重点是,为什么我们必须设置或绕过执行策略?这是因为 PowerShell 执行策略由于其默认行为而设置为“受限”,这意味着您无法运行“.ps1”文件。对于执行策略,我们有以下列出的几个选项:

  • Restricted - 这是默认选项,不允许运行 PowerShell 脚本。
  • Unrestricted - 我们不能运行任何脚本;它显示下载脚本的警告。
  • AllSigned - 它只允许运行来自受信任发布者的签名脚本。
  • ByPass - 它允许我们运行所有脚本而不会发出任何警告。
  • RemoteSigned - 此选项需要对下载的脚本进行数字签名。我们可以执行本地编写的脚本,并解锁下载的脚本以在没有签名的情况下执行它们。

您可以查看有关这些选项的更多详细信息。我们还可以通过在脚本文件上右键单击并选择使用 PowerShell 运行来运行.ps1

从 Windows 命令行运行

使用 powershell -noexit 从 Windows 命令行 (cmd.exe) 运行 PowerShell 脚本。

从 Windows 命令行运行:

powershell -noexit "& ""E:\Test\test.ps1"""
<#
test.ps1 has the following command that will
be executed when we will run the script
Write-Host "You've successfully run PowerShell Script."
#>

输出 :

You've successfully run PowerShell Script.

上述命令用于运行指定的PowerShell脚本。

让我们把它分成几块来理解它的每一部分。

首先,我们使用 powershell 启动 PowerShell 环境,同时使用 -noexit 参数让 PowerShell 窗口保持打开状态,即使在脚本执行完毕后也是如此。这样,我们就可以看到刚刚运行的脚本文件生成的输出。接下来,我们使用 & 符号表示的调用运算符来运行命令、脚本块或表达式。

此命令从 Windows 运行对话框(使用 Windows 键+ R 打开)或从命令提示符运行,如我们上面所做的那样。请注意,如果您从 Windows 运行对话框 运行它,则输出将在 PowerShell 窗口中可见。另一方面,如果从 Windows 命令提示符运行它,您将看到输出,而无需打开 PowerShell 窗口。

使用调用表达式 Cmdlet

要从 PowerShell 命令行运行 ps1 文件:

  • 以管理员身份启动 PowerShell 并等待 PS> 提示符出现。
  • 导航到 PowerShell 脚本文件所在的位置。
  • 使用 Invoke-Expression cmdlet 运行 PowerShell 脚本。

使用调用表达式 Cmdlet:

Invoke-Expression .\test.ps1
<#
test.ps1 has the following command that will
be executed when we will run the script
Write-Host "You've successfully run PowerShell Script."
#>

输出 :

You've successfully run PowerShell Script.

Invoke-Expression cmdlet 用于在本地计算机上运行表达式或命令。它将给定字符串作为命令运行或求值,并返回指定命令或表达式的结果。

这就是如何从 PowerShell 运行 ps1 文件的全部内容。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯