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

[玩转系统] 如何运行 PowerShell 脚本?

作者:精品下载站 日期:2024-12-15 00:28:37 浏览:14 分类:玩电脑

如何运行 PowerShell 脚本?


作为系统管理员,PowerShell 是您的工具集中必备的必备工具。 PowerShell 是 Microsoft 开发的一种功能强大的脚本语言,用于任务自动化和配置管理。它提供了命令行 shell 和脚本语言,可用于自动执行 Windows 系统上的各种管理任务,PowerShell 预装在所有 Windows 计算机上(旧版本除外)。这份关于如何运行 PowerShell 脚本的全面分步指南将引导您完成运行 PowerShell 脚本的各种方法。无论您是初学者还是经验丰富的用户,本指南都将涵盖您入门所需了解的所有内容。

为什么使用 PowerShell 脚本?

PowerShell 脚本可用于自动执行重复性任务并为系统管理员节省时间。使用 PowerShell,您可以执行创建用户帐户、管理文件和文件夹以及配置网络设置等任务。 PowerShell还提供了一种管理远程计算机的方法,这使其成为管理大规模环境的优秀工具。 PowerShell 提供了一组强大的功能,可用于自动执行管理任务。使用 PowerShell 最显着的好处之一是它能够与其他 Microsoft 技术(例如 Active Directory、Exchange Server 和 SharePoint)配合使用。此外,新的 PowerShell 核心提供跨平台兼容性,例如 Linux 或 macOS 操作系统。

PowerShell 脚本也可用于确保环境的一致性。通过使用脚本,您可以确保所有计算机都以相同的方式配置,从而最大限度地减少错误并减少停机时间。

了解执行策略

在运行任何 PowerShell 脚本之前,了解和配置执行策略非常重要。执行策略决定在系统上运行脚本的安全级别。默认情况下,PowerShell 具有受限执行策略,该策略会阻止执行任何脚本。

为什么您的系统上可能会禁用运行 PowerShell 脚本

让我们了解为什么您在系统上运行脚本时可能会遇到“在此系统上禁用运行脚本”错误消息。默认情况下,PowerShell 有一个名为“执行策略”的安全功能,用于控制运行脚本的信任级别。此策略旨在保护您的系统免于运行潜在的恶意脚本。

启用在系统上运行 PowerShell 脚本

要启用在系统上运行 PowerShell 脚本,您需要修改执行策略。根据您的安全要求,您可以选择不同级别的执行策略。使用“Get-ExecutionPolicy”cmdlet 检查设备(例如 Windows Server 或 PC)上的当前执行策略。

要更改 PowerShell 执行策略,请以管理员身份打开 PowerShell 并使用以下命令:


Set-ExecutionPolicy RemoteSigned

此命令将执行策略设置为“RemoteSigned”,这允许您运行本地创建的脚本,但需要对从 Internet 下载的脚本进行数字签名。您可以根据您的安全需求选择其他执行策略,例如“无限制”或“AllSigned”。但需要注意的是,更改执行策略可能会带来安全风险,因此最好选择平衡安全性和便利性的策略。

对于特定的 PowerShell 文件,也可以通过添加“-executionpolicy绕过”来绕过执行策略!

运行 PowerShell 脚本的分步指南

现在您已经熟悉了运行 PowerShell 脚本的不同方法,让我们看一下运行脚本的分步指南:

第 1 步:打开 PowerShell

要打开 PowerShell,您只需在“开始”菜单中搜索“PowerShell”或使用“运行”对话框(Windows 键 + R)并输入“powershell”。这将启动 PowerShell 命令行 shell。

第 2 步:导航至文件夹

运行 PowerShell 脚本的最常见方法是从 PowerShell 控制台。为此,您需要打开 PowerShell 终端并导航到脚本所在的目录。


CD "C:\Scripts"

步骤 3:从 PowerShell 控制台运行脚本

要运行 PowerShell 脚本,请使用以下命令:


.\GenerateRpt.ps1

将“GenerateRpt.ps1”替换为 PowerShell 脚本的实际名称。

[玩转系统] 如何运行 PowerShell 脚本?

如果脚本位于不同的目录中,您需要提供脚本文件的完整路径。您还可以将参数传递给脚本,方法是在脚本名称后面添加参数,并用空格分隔。

如果脚本位于名称中包含空格的目录中,则需要将路径用双引号引起来:


.\"Path with Spaces\FileName.ps1"

值得注意的是,出于安全原因,PowerShell 要求您显式指定脚本的路径或使用点斜杠符号 (.)。这可确保您运行预期的脚本,并且不会意外执行同名的恶意文件。

您还可以使用调用运算符“&”调用特定路径中的脚本。例如,如果您的脚本位于 C:\Scripts\MyScript.ps1 中,您将运行以下命令:


 &"C:\Scripts\MyScript.ps1"

以管理员身份运行脚本

有时,您可能需要以提升的权限运行 PowerShell 脚本。当脚本需要管理访问权限来执行某些任务时,这特别有用。有多种方法可以使用提升的权限执行 PowerShell 脚本,包括以管理员身份启动 Windows PowerShell 或使用 Runas 命令或 Start-Process cmdlet 以管理员身份启动脚本。

要以管理员身份运行脚本,请按照下列步骤操作:

  1. 在开始菜单图标中键入“PowerShell”或“PowerShell ISE”。
  2. 从上下文菜单中选择“以管理员身份运行”。

这将打开具有管理权限的 PowerShell 窗口并执行脚本。如果您的系统启用了 UAC(用户帐户控制),系统可能会提示您提供管理员凭据。

[玩转系统] 如何运行 PowerShell 脚本?

以管理员身份运行脚本会为其提供执行需要提升访问权限的任务所需的权限,例如修改系统设置或访问受限文件和文件夹。但是,在使用管理权限运行脚本时请务必小心,以防止出现意外后果或安全风险。

自动以管理员身份运行 PowerShell

要自动以管理员身份运行 PowerShell 脚本,您需要以管理员身份打开 PowerShell,然后运行该脚本。

您还可以使用以下命令以管理员身份从命令提示符运行 PowerShell 脚本:


Start-Process powershell.exe -Verb runAs -ArgumentList "-File C:\Scripts\MyScript.ps1"

使用提升的权限运行脚本可以让您执行标准用户权限可能无法实现的高级功能。

以不同用户身份运行 PS1 文件

如果您需要在不同的用户帐户下运行PowerShell脚本,可以使用“运行方式”功能。操作方法如下:

  1. 以管理员身份打开命令提示符窗口。
  2. 键入以下命令并按 Enter:

runas /user:username powershell.exe -File "C:\Temp\YourScript.ps1"

将“username”替换为要运行脚本的用户帐户的实际用户名,并将“C:\Temp\YourScript.ps1”替换为 PowerShell 脚本的实际路径。

从命令提示符 (CMD) 运行 PowerShell 脚本

除了从 PowerShell 控制台运行 PowerShell 脚本之外,您还可以从命令提示符运行它们。要从命令提示符运行 PowerShell 脚本,您必须使用 PowerShell 可执行文件并将脚本作为参数传递。为此,只需打开命令提示符并输入“powershell”,然后输入“-file”参数和 PowerShell 脚本文件的路径。例如,如果您的脚本名为“GetServices.ps1”并且位于“Downloads”C:\Scripts”文件夹中,则您可以键入以下命令:

  1. 打开命令提示符窗口。
  2. 键入以下命令并按 Enter:

powershell.exe -File "C:\Scripts\GetServices.ps1" -noexit

将“C:\Scripts\GetServices.ps1”替换为 PowerShell 脚本的实际路径。

将 PowerShell 脚本集成到计划任务中

为了进一步简化和自动化 PowerShell 任务,您可以将 PowerShell 脚本集成到计划任务中。计划任务是自动化进程,可以编程为按预定时间或间隔在计算机上运行,从而允许您安排 PowerShell 脚本的执行,而无需手动干预。

设置计划任务有助于节省时间和精力,并确保定期执行脚本。通过将 PowerShell 脚本集成到计划任务中,您可以进一步自动化流程并确保脚本高效且一致地执行。

要在 Windows 任务计划程序中计划 PowerShell 脚本,您可以按照以下步骤操作:

  1. 通过在窗口开始菜单中键入“任务计划程序”来打开任务计划程序。
  2. 从“操作”菜单中,单击“创建基本任务”
  3. 为任务指定名称和描述,然后单击“下一步”
  4. 选择任务的触发器。这可以是特定时间、重复时间表或事件。
  5. 指定任务应执行的操作。在这种情况下,选择“启动程序”
  6. 在“程序/脚本”字段中,输入“PowerShell”
  7. 在“添加参数(可选)”字段中,输入“-File [PowerShell 脚本的路径]”

    [玩转系统] 如何运行 PowerShell 脚本?

  8. 单击“确定”保存更改。

请参阅此处了解更多信息:如何创建计划任务来运行 PowerShell 脚本?

从批处理文件运行 PowerShell 脚本

批处理文件也称为 .bat 文件,是用于在 Windows 中自动执行任务的脚本文件。它们可用于执行 PowerShell 脚本,从而实现更多自动化可能性。操作方法如下:

  1. 打开记事本或任何文本编辑器。
  2. 键入以下命令并使用 .bat 或 .cmd 扩展名保存文件:

powershell.exe -File "C:\Scripts\script.ps1"

将“C:\Scripts\script.ps1”替换为 PowerShell 脚本的实际路径。

点源:从另一个脚本运行脚本

点源是一种允许您从另一个脚本中运行 PowerShell 脚本的技术。要利用点源,只需使用点 (.) 运算符,后跟您要运行的脚本或函数的路径。此方法允许在一个脚本中定义的代码在另一个脚本中引用,从而更容易重用和访问函数和变量。

要点源脚本,请使用以下语法:


. .\ScriptName.ps1

当您想要在多个脚本之间共享通用函数或变量时,点采购特别有用。如果脚本位于不同的文件夹中,请使用:


. "C:\Users\Thomas\Documents\PowerShell\Get-FileSize.ps1"

#Call the method defined in the another script file
Get-FileSize "C:\Logs\AppLogs.txt"

上述脚本允许您使用以下命令从当前 PowerShell 会话中的另一个脚本调用函数:

从 Windows 文件资源管理器运行 PowerShell 脚本

除了从命令行运行脚本之外,您还可以从图形用户界面 (GUI) 或通过创建快捷方式运行 PowerShell 脚本。当您想要通过简单的单击来运行脚本而不打开 PowerShell 终端时,此方法非常有用。

要从 GUI 运行 PowerShell 脚本,请执行以下步骤:

  1. 在文件资源管理器中找到脚本文件。
  2. 右键单击脚本文件名,然后从上下文菜单中选择“使用 PowerShell 运行”。

[玩转系统] 如何运行 PowerShell 脚本?

这将打开 PowerShell 窗口并执行脚本。

创建运行 PowerShell 脚本的快捷方式

您还可以创建脚本文件的快捷方式并将其放置在桌面或任何方便的位置。双击该快捷方式将使用 PowerShell 运行脚本。以下是如何做到这一点:

  1. 在文件资源管理器中右键单击脚本文件 >> 选择“发送到”> 选择“桌面(创建快捷方式)”
  2. 现在,右键单击桌面上创建的快捷方式>>在“目标”字段中,添加“PowerShell”。例如,“PowerShell C:\Scripts\GenRpt.ps1”。
  3. 单击“确定”保存更改。

    [玩转系统] 如何运行 PowerShell 脚本?

现在,如果双击快捷方式,脚本将被执行。如果您想让窗口保持打开状态而不自动关闭它,请使用:


powershell -NoExit -File "C:\Scripts\GenRpt.ps1"

远程执行PowerShell脚本

在许多情况下,您可能需要在远程计算机上执行 PowerShell 脚本。这对于管理多个系统或跨网络执行管理任务特别有用。在本节中,我们将讨论在远程计算机上运行 PowerShell 脚本的各种技术,包括配置 Windows 远程管理 (WinRM) 和使用 Invoke-Command cmdlet。

了解这些方法将使您能够在远程系统上高效、安全地执行脚本,进一步扩展 PowerShell 的功能,并使您能够更轻松、更精确地管理您的 IT 环境。

配置 WinRM 以进行远程执行

WinRM(即 Windows 远程管理)是一项支持安全远程 PowerShell 脚本执行的服务。在远程计算机上运行脚本之前,您需要启用并配置 WinRM。为此,请使用管理员权限打开 PowerShell 控制台并运行 Enable-PSRemoting 命令。此命令将自动启用 Windows 远程管理 (HTTP-In) 规则。

要检查 WinRM 服务状态,请使用 Test-WSMan 命令。如果远程计算机位于工作组中并且公共网络配置文件应用于 LAN 连接,则需要在 Windows 防火墙中显式启用传入 WinRM 流量。

使用 Invoke-Command 进行远程脚本执行

Invoke-Command cmdlet 允许您建立远程连接并在远程计算机上执行脚本。要使用 Invoke-Command,您需要指定远程计算机的计算机名称或 IP 地址。要在远程计算机上执行脚本,请使用以下格式:


Invoke-Command -ComputerName <computer_name> -ScriptBlock <script_path> | <PowerShell cmdlets> -Credential Domain\UserName

例如,如果您想在名为“FileServer”的计算机上运行名为“RemoteScript.ps1”的脚本,参数为“123”,您可以键入:


Invoke-Command -ComputerName FileServer -ScriptBlock { Get-Process }

使用 Invoke-Command 在远程计算机上执行脚本提供了一种强大而有效的方法来管理远程系统并自动执行网络上的任务。您还可以使用文件路径参数:


Invoke-Command -ComputerName FileServer -FilePath C:\Scripts\Get-EventLog.ps1

用于运行脚本的 PowerShell 模块

PowerShell 模块是可用于执行特定任务的 cmdlet、函数和脚本的集合。有许多 PowerShell 模块可用于运行脚本,包括:

  • Posh-SSH:用于执行 SSH 和 SFTP 任务的模块
  • ActiveDirectory:用于管理Active Directory的模块
  • ExchangeOnlineManagement:用于管理 Exchange Online 的模块
  • VMware.PowerCLI:用于管理VMware环境的模块

确保在从特定模块运行任何 cmdlet 之前安装必要的模块。例如,要安装 PowerShell 模块来管理 SharePoint Online,请使用:


Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Force -AllowClobber

PowerShell 脚本编辑器工具

有多种 PowerShell 脚本编辑器工具可以帮助您编写、测试和调试 PowerShell 脚本。以下是一些流行的 PowerShell 脚本编辑器工具:

  • PowerShell ISE:随 Windows 预装的 PowerShell 集成脚本编写环境
  • Visual Studio Code:具有 PowerShell 脚本扩展的代码编辑器。
  • 具有高级功能的第 3 方商业 PowerShell 编辑器:Sapien PowerShell Studio、PowerShell Plus、Notepad++ 等,用于编辑 PowerShell 脚本。

利用PowerShell ISE执行脚本文件

PowerShell 集成脚本环境 (ISE) 是一个功能强大的工具,提供用户友好的界面来编辑、检查和执行脚本。对于那些喜欢更直观的脚本编写方法或需要在执行脚本时进行修改的人来说,此环境是理想的选择。

要在 PowerShell ISE 中运行脚本,请打开 Windows PowerShell ISE 并使用“文件”菜单打开脚本文件。一旦您的脚本显示在 ISE 中,只需按绿色运行按钮即可使用 PowerShell ISE 运行 PowerShell 脚本。

[玩转系统] 如何运行 PowerShell 脚本?

PowerShell ISE 提供了一种执行脚本的便捷方法,同时提供了一个更易于访问的环境来检查和编辑代码,这使其成为 PowerShell 新手或喜欢图形界面的用户的绝佳选择。

使用 Visual Studio Code 执行 PowerShell

Visual Studio Code (VSCode) 与 PowerShell 扩展相结合,为编写和运行 PowerShell 脚本提供了良好的环境。

要使用 Visual Studio Code 运行 PowerShell 脚本,您可以按照以下步骤操作:

  1. 安装 Visual Studio Code 和 PowerShell 扩展
  2. 打开 Visual Studio Code 和要运行的 PowerShell 脚本文件。
  3. 要运行整个脚本,请按“F5”或从“调试”菜单中选择“运行”
  4. 要运行脚本的特定部分,请突出显示代码并按“F8”或从上下文菜单中选择“在 PowerShell 中运行选择/行”。

[玩转系统] 如何运行 PowerShell 脚本?

通过这些步骤,您可以轻松地在 VS Code 中运行 PowerShell 脚本和命令。详细信息:如何使用 Visual Studio Code 运行 PowerShell 脚本?

运行 PowerShell 脚本的最佳实践

为了确保您的 PowerShell 脚本高效、可维护且易于理解,运行脚本时遵循一些最佳实践非常重要。以下是运行 PowerShell 脚本的一些最佳实践:

了解脚本的目的和功能

在运行 PowerShell 脚本之前,请花些时间了解其用途和功能。查看脚本的文档或注释,以确保它符合您的要求并且不会带来任何安全风险。

在运行脚本之前对其进行测试

在生产环境中运行 PowerShell 脚本之前,请始终在受控环境中对其进行测试。这将帮助您识别任何潜在问题或意外后果。

使用错误处理和日志记录

在脚本中实现错误处理和日志记录机制,以优雅地捕获和处理错误。这将使故障排除和调试变得更加容易。监视脚本执行并记录任何错误或意外行为以进行故障排除。

其他最佳实践:

  1. 使用描述性变量名称可以使代码更易于理解。
  2. 使用注释来解释脚本的用途和代码的每个部分。记录脚本以便其他人可以理解和使用它。
  3. 使用函数将大型脚本分解为更小、更易于管理的部分。
  4. 使用一致的格式使代码更易于阅读。
  5. 使用 PowerShell 模块来组织和重用代码。
  6. 使用版本控制来跟踪脚本随时间的变化。
  7. 记录脚本以便其他人可以理解和使用它。
  8. 通过阅读博客、参加会议和参与在线社区,不断学习和提高您的 PowerShell 技能。

PowerShell 脚本故障排除

即使采用了最佳实践,PowerShell 脚本仍然可能会失败。发生这种情况时,了解如何对脚本进行故障排除以识别和解决问题非常重要。以下是运行 PowerShell 脚本时可能遇到的一些常见错误以及如何解决这些错误:

  • 语法错误:检查脚本的语法以确保代码中没有错误。
  • 执行策略错误:检查执行策略以确保它允许脚本运行。
  • 权限错误:检查运行脚本的用户的权限,以确保他们具有执行任务所需的权限。
  • 模块错误:检查脚本使用的所有模块是否安装正确。

包起来

运行 PowerShell 脚本不一定是一项艰巨的任务,即使对于初学者也是如此。在本综合指南中,我们探索了本地和远程运行 PowerShell 脚本的各种方法和技术。从使用文件资源管理器、Windows PowerShell 和 PowerShell ISE 启动 PowerShell 脚本,到管理执行策略以及以管理员身份以提升的权限运行脚本,您现在拥有有效利用 PowerShell 强大功能的知识和信心。通过了解执行策略、使用命令行或 GUI、点源以及从 CMD 或批处理文件运行,您可以轻松执行 PowerShell 脚本。通过本文中概述的步骤,您可以自信地运行 PowerShell 脚本并在 Windows 系统上自动执行各种管理任务。

请记住始终保持谨慎并了解您正在运行的脚本,以确保安全高效的体验。请务必遵循编写和运行 PowerShell 脚本的最佳实践,并使用描述性变量名称、注释和错误处理,以使脚本更易于维护且更易于理解。借助这些技能和资源,您可以成为 PowerShell 大师并简化您的管理任务。

经常问的问题:

如何逐行运行 PowerShell 脚本?

要逐行运行 PowerShell 脚本,您可以使用 PowerShell 集成脚本环境 (ISE)。在 ISE 中打开脚本,选择要运行的行,然后使用“运行选择”按钮一次执行一行脚本。您可以通过选择单行并按 F8 来执行它们。

在 Azure 中哪里运行 PowerShell 脚本?

PowerShell 脚本可以使用各种方法在 Azure 中运行,例如 Azure Cloud Shell、Azure PowerShell 模块、Azure 自动化、Azure Functions 和 Azure 虚拟机。方法的选择取决于你的具体要求以及你使用 Azure 的资源。

如何在 Visual Studio 2019 中运行 PowerShell 脚本?

要在 Visual Studio 2019 中运行 PowerShell 脚本,必须先安装 Visual Studio 扩展的 PowerShell 工具,然后打开 Visual Studio 2019 并通过单击“文件”>“新建”>“项目”并选择 PowerShell 脚本项目来创建新的 PowerShell 项目。脚本准备好后,您可以通过单击工具栏上的绿色“播放”按钮来执行它,这将执行 PowerShell 脚本。

如何以管理员身份远程运行PowerShell脚本?

要以管理员身份远程运行 PowerShell 脚本,您需要确保首先启用 PowerShell 远程处理。完成后,您可以使用带有 -ComputerName 参数的 Invoke-Command cmdlet 来指定远程计算机。使用 -Credential 参数为远程计算机提供管理员凭据。

如何在启动时运行 PowerShell 脚本?

有多种方法可以在启动时运行 PowerShell 脚本,包括使用任务计划程序、组策略、PowerShell 配置文件或“启动”文件夹中的批处理文件 (C:\Users\UserName\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动)。要使用 Windows 任务计划程序在启动时运行 PowerShell 脚本,请在任务计划程序中创建一个新任务,将触发器设置为“系统启动时”,然后设置操作以使用该脚本作为参数来运行 PowerShell。

如何从另一个脚本运行 PowerShell 脚本?

有多种方法可以从另一个脚本运行 PowerShell 脚本,包括调用运算符、点源方法、Invoke-Expression cmdlet 或 Start-Process cmdlet。以下是如何使用 Call Operator 方法: 例如,如果同一目录中有两个名为“script1.ps1”和“script2.ps1”的脚本,则可以使用以下命令从“script1.ps1”调用“script2.ps1”:以下命令:“& .\script2.ps1”

如何创建批处理文件来运行 PowerShell 脚本?

要创建批处理文件来运行 PowerShell 脚本,请按照下列步骤操作: 准备您的 PowerShell 脚本,保存它并记下其路径,例如“C:\Scripts\MyScript.ps1”。通过右键单击所需的目录,选择“新建”,然后选择“文本文档”来创建新的批处理文件。打开文本文档并输入以下行:powershell.exe -ExecutionPolicy Bypass -NoLogo -NoProfile -File “C:\Scripts\MyScript.ps1”。最后,保存带有 .bat 扩展名的文本文件,例如“RunScript.bat”。

如何运行带参数的 PowerShell 脚本?

要运行带参数的 PowerShell 脚本,您可以按照以下步骤操作: 通过在脚本开头添加 param 块来定义 PowerShell 脚本中的参数。例如,“param([string]$Param1, [int]$Param2)”。要使用参数运行脚本,请将参数值传递为:PowerShell.exe -File “C:\Scripts\script.ps1” -Param1 “Value1” -Param2。

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

取消回复欢迎 发表评论:

关灯