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

[玩转系统] 掌握从 CMD 运行 PowerShell 脚本的艺术:综合指南

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

掌握从 CMD 运行 PowerShell 脚本的艺术:综合指南


标题:掌握从 CMD 运行 PowerShell 脚本的 5 个基本步骤

作为一名专业软件工程师,我经常发现自己需要从命令行 (CMD) 界面运行 PowerShell 脚本。对于一些刚刚开始使用 PowerShell 的用户来说,这个过程可能会让人感到困惑,但不要担心!今天,我将分享一个关于我如何克服这一挑战的故事,并将指导您完成 5 个基本步骤来掌握从 CMD 运行 PowerShell 脚本。

旅程开始:发现的故事

我仍然记得第一次遇到需要从 CMD 运行 PowerShell 脚本的情景。那是一个漆黑的暴风雨之夜,我的任务是在大量服务器上自动执行关键系统更新。截止日期迫在眉睫,没有容错的余地。凭借我的智慧和对软件工程原理的深刻理解,我冒险进入了 CMD 和 PowerShell 自动化的世界。到了晚上,我已经解锁了从 CMD 运行 PowerShell 脚本的能力,并按时完成了任务。那次经历激励我与您分享这些关键步骤,帮助您提高自己作为软件工程师的能力。

因此,系好安全带,让我们深入了解从 CMD 运行 PowerShell 脚本的旅程。

第 1 步:了解 PowerShell 和 CMD 的基础知识

在我们开始从 CMD 运行 PowerShell 脚本之前,必须对 PowerShell 和 CMD 有基本的了解。 PowerShell 是 Microsoft 开发的一种面向对象、可扩展的脚本语言。它提供了一组强大的命令,用于管理 Windows 系统、自动化任务和处理数据。

另一方面,CMD,也称为命令提示符,是 Windows 操作系统的默认命令行界面。尽管与 PowerShell 相比受到限制,CMD 仍然包含一系列用于管理文件、目录以及执行批处理文件或其他命令行程序的命令。

通过了解PowerShell和CMD之间的关系和区别,我们可以更好地利用它们各自的优势来完成我们的任务。

步骤 2:启用 PowerShell 脚本的执行

出于安全原因,Windows 默认情况下禁用 PowerShell 脚本的执行。在运行任何脚本之前,我们必须首先启用它们的执行。为此,请按照下列步骤操作:

1. 右键单击 PowerShell 图标并选择以管理员身份运行
,以管理员模式打开 PowerShell。 2. 执行以下命令以启用脚本执行:“Set-ExecutionPolicy RemoteSigned “
3. 输入 Y 并按 Enter 键确认提示。

_请记住,启用脚本执行可能会使您的系统面临潜在的安全风险。在执行脚本之前始终验证脚本的来源和内容。_

第 3 步:准备 PowerShell 脚本

现在我们的系统已准备好运行脚本,我们需要一个脚本来执行。出于演示目的,让我们创建一个简单的脚本,将 Hello, world! 输出到控制台。打开您喜欢的文本编辑器并输入以下命令:

写主机“你好,世界!

将此文件以扩展名 .ps1(例如 HelloWorld.ps1)保存在方便的位置。该文件是我们的 PowerShell 脚本,现在可以从 CMD 执行。

步骤 4:从 CMD 运行 PowerShell 脚本

准备好脚本后,就可以使用 CMD 来执行它了。请遵循以下说明:

1. 在搜索栏中输入 cmd 并按 Enter 键,打开 CMD。
2. 使用 cd 命令导航到包含 PowerShell 脚本的目录(例如, cd C:Scripts)。
3. 执行以下命令来运行脚本:“powershell -ExecutionPolicy ByPass -File HelloWorld.ps1“

输入此命令后,您应该在 CMD 窗口中看到脚本输出 (Hello, world!)。恭喜!您已成功从 CMD 执行 PowerShell 脚本。

第 5 步:掌握从 CMD 运行 PowerShell 脚本的高级技术

渴求更多吗?以下是一些高级技术,可进一步增强您从 CMD 运行 PowerShell 脚本的能力:

1. 使用命令行参数运行脚本:执行脚本时添加 -ArgumentList 参数,后跟逗号分隔的参数列表(例如,powershell -ExecutionPolicy ByPass -File HelloWorld.ps1 -ArgumentList “arg1,arg2”)。
2. 自动执行脚本:将 PowerShell 脚本集成到批处理文件或其他自动化进程中,例如 Windows 任务计划程序或 CI/CD 管道。 3. 探索其他 PowerShell 标志:利用各种 PowerShell 标志(例如 -NoProfile-NonInteractive)自定义脚本的运行方式。更多详细信息可以在[微软官方文档](https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/console/powershell.exe-command-line-help)中找到。

通过掌握这些先进技术,您将成为从 CMD 运行 PowerShell 脚本的真正专家。

旅程仍在继续:充满无限可能的世界

现在您已经掌握了如何从 CMD 运行 PowerShell 脚本,一个全新的自动化和高效世界正在等待着您。通过反复试验、实践和适当的好奇心,您将发现无数种方法可以在作为软件工程师的日常任务中使用 PowerShell 和 CMD。请记住,当一段旅程结束时,另一段旅程就会开始——因此请时刻准备好学习、适应和探索新领域。快乐的脚本编写!

您需要了解的 40 个 Windows 命令(10 分钟内)

在 Windows 10 和 11 上以管理员身份运行 Windows PowerShell 的 3 种简单方法

如何在CMD环境中执行PowerShell命令?

要在 CMD 环境中执行 PowerShell 命令,您可以使用 powershell 命令,后跟 -Command 参数和要运行的特定 PowerShell 命令。这是一般语法:


powershell -Command

将“替换为您要执行的实际命令。例如,要使用 PowerShell 从 CMD 获取正在运行的进程列表,可以使用以下命令:


powershell -Command Get-Process

在这种情况下,Get-Process PowerShell 命令将在 CMD 环境中执行,它将显示计算机上正在运行的进程列表。

如何执行要在 CMD 命令提示符中以用户身份执行 PowerShell 脚本?

要以 CMD 命令提示符中的用户身份执行 PowerShell 脚本,您可以使用以下命令:

powershell -ExecutionPolicy Bypass -File pathtoyourscript.ps1

这里,-ExecutionPolicy Bypass允许脚本不受任何限制地运行,-File后面跟着脚本的路径指定要运行的PowerShell脚本的位置。

确保将 pathtoyourscript.ps1 替换为 PowerShell 脚本的实际路径。

如何直接执行 PowerShell 脚本?

要直接在 PowerShell 命令行中执行 PowerShell 脚本,您应按照以下步骤操作:

1. 确保您的系统的执行策略允许执行PowerShell脚本。您可以通过以下命令查看当前的执行策略:

Get-ExecutionPolicy

2. 如果执行策略未设置为UnrestrictedRemoteSigned,您将需要更改它。为此,请以管理员身份运行以下命令:

Set-ExecutionPolicy RemoteSigned

这会将执行策略设置为RemoteSigned,这样您就可以毫无问题地运行本地脚本,同时保持一定程度的安全性。

3. 使用 .ps1 文件扩展名保存 PowerShell 脚本。

4. 使用 cd 命令导航到保存脚本的目录:

cd path/to/your/script/directory

5. 最后,输入以下命令直接执行 PowerShell 脚本:

.your-script-name.ps1

这将直接在 PowerShell 命令行中执行 PowerShell 脚本。

如何使用参数从命令行执行 PowerShell 脚本?

使用参数从命令行执行 PowerShell 脚本,您可以按照以下步骤操作:

1. 按 Windows 键 + X 并从上下文菜单中选择 Windows PowerShell命令提示符,打开命令提示符或 PowerShell 控制台。

2. 使用 cd 命令导航到 PowerShell 脚本 (.ps1) 所在的文件夹,后跟文件夹路径,例如:

cd C:Scripts

3. 执行脚本之前,请确保您的系统的执行策略允许运行脚本。您可以使用以下命令检查当前的执行策略:

Get-ExecutionPolicy

4. 如果执行策略设置为 Restricted,请通过运行以下命令将其更改为 RemoteSignedUnrestricted(无论您喜欢哪个):

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

出现提示时输入 Y 并按 Enter 确认更改。

5. 要使用参数执行脚本,请使用以下语法:

.ScriptName.ps1 -Argument1 value1 -Argument2 value2

ScriptName 替换为 PowerShell 脚本的名称,将 Argument1Argument2 替换为脚本中定义的参数名称。将 value1value2 替换为您要作为参数传递的实际值。

例如,如果您的脚本名为 MyScript.ps1 并接受两个参数 UsernamePassword,您将像这样执行它:

.MyScript.ps1 -Username JohnDoe -Password P@ssw0rd123

请记住将 JohnDoeP@ssw0rd123 替换为您要使用的实际用户名和密码。

如何从命令提示符批处理文件执行 PowerShell 脚本?

要从命令提示符批处理文件执行 PowerShell 脚本,请按照以下步骤操作:

1. 使用记事本等文本编辑器创建一个新的批处理文件(例如 script.bat)。

2. 在批处理文件中,使用以下命令格式调用PowerShell脚本:

PowerShell.exe -ExecutionPolicy Bypass -File Pathtoyourscript.ps1

Pathtoyourscript.ps1 替换为 PowerShell 脚本的实际路径。

3. 保存并关闭批处理文件。

4. 双击批处理文件或从命令提示符执行它来运行该文件。

该命令的作用如下:

- PowerShell.exe:这是运行 PowerShell 的可执行文件。
- -ExecutionPolicy Bypass:此标志告诉 PowerShell 绕过其默认执行策略,从而允许脚本执行要运行。
- -File Pathtoyourscript.ps1:此标志指定要运行的脚本的位置。

当您执行批处理文件时,它会打开 PowerShell 并使用定义的执行策略运行指定的脚本。

从命令提示符 (CMD) 执行 PowerShell 脚本有哪些不同方法以及它们的优点是什么和缺点?

有多种方法可以从命令提示符 (CMD) 执行 PowerShell 脚本。以下是一些最常见的方法:

1. PowerShell.exe
您可以使用随 PowerShell 一起安装的 PowerShell.exe 可执行文件从 CMD 运行 PowerShell 脚本。为此,您需要在脚本路径前添加 PowerShell 可执行文件的前缀:

PowerShell.exe -ExecutionPolicy Bypass -File “C:pathtoyourscript.ps1”

优点:
- 简单易用。
- 允许您设置特定脚本执行的执行策略。

缺点:
- 如果 PowerShell.exe 可执行文件不在系统的 PATH 变量中,则需要该文件的完整路径。

2. 直接执行
在某些情况下,您只需键入其路径即可从命令提示符直接执行 PowerShell 脚本:

C:pathtoyourscript.ps1

优点:
- 简单,无需任何额外语法。

缺点:
- 取决于系统中 .ps1 文件的文件关联。如果 .ps1 文件与其他应用程序关联,则该脚本将不会执行。
- 您无法为该特定脚本执行设置执行策略。

3. 调用运算符 (&)
您可以使用调用运算符 (&) 从 PowerShell 中执行 PowerShell 脚本:

& “C:pathtoyourscript.ps1”

优点:
- 当您已经处于 PowerShell 会话中时非常适合。
- 语法简单。

缺点:
- 不能从命令提示符 (CMD) 直接应用。

4. Invoke-Expression
您可以使用 Invoke-Expression cmdlet 从 PowerShell 中执行 PowerShell 脚本:

Invoke-Expression -Command “C:pathtoyourscript.ps1”

优点:
- 当您已处于 PowerShell 会话中时非常理想。
- 允许更复杂的脚本执行场景。

缺点:
- 无法从命令提示符 (CMD) 直接应用。
- 更容易出现代码注入风险,因此请谨慎使用。

在大多数情况下,建议使用PowerShell.exe方法,因为它在简单性和对脚本执行的控制之间提供了良好的平衡。但是,根据您的具体情况,您可能更喜欢其他方法之一。

如何使用命令提示符 (CMD) 运行带有参数的 PowerShell 脚本,以及处理错误和输出的最佳实践是什么?

要从命令提示符 (CMD) 运行带参数的 PowerShell 脚本,您可以按照以下步骤操作:

1. 在“开始”菜单中搜索 cmd 或按 Win + R 并输入 cmd 然后按 Enter 键,打开命令提示符。
2. 使用以下语法运行带参数的 PowerShell 脚本:

PowerShell.exe -ExecutionPolicy Bypass -File “Pathtoyourscript.ps1” -Parameter1 “Value1” -Parameter2 “Value2”

Pathtoyourscript.ps1 替换为脚本的实际路径,将 -Parameter1-Parameter2 替换为参数名称及其相应值。

处理错误和输出的最佳实践:

1. 使用 trycatch 块:通过将代码包装在 trycatch 块。这允许您以特定方式捕获和处理错误消息,例如记录错误或显示自定义错误消息。

try {
# Your main script logic here
}
catch {
Write-Host “Error: $_” -ForegroundColor Red
}

2. 使用$ErrorActionPreference 变量:设置此变量的值以控制PowerShell 如何响应非终止错误。默认值为继续。其他可能的值包括SilentlyContinueStopInquire

例子 :

$ErrorActionPreference = “Stop”

3. 将输出和错误重定向到日志文件:您可以在 CMD 中使用以下语法将脚本的输出和错误重定向到日志文件:

PowerShell.exe -ExecutionPolicy Bypass -File “Pathtoyourscript.ps1” -Parameter1 “Value1” -Parameter2 “Value2” > “Pathtolog-file.txt” 2>&1

Pathtoyourscript.ps1 替换为脚本的实际路径,将 Pathtolog-file.txt 替换为存储日志文件所需的路径。

4. 使用 Write-HostWrite-OutputWrite-Error cmdlet: 控制您的输出分别使用这些 cmdlet 来显示信息、将输出发送到管道或显示错误。

Write-Host “Information message”
Write-Output “Output message”
Write-Error “Error message”

通过遵循这些最佳实践,您可以使用命令提示符中的参数高效运行 PowerShell 脚本,并有效处理错误和输出。

从命令提示符 (CMD) 运行 PowerShell 脚本是否需要任何安全设置或配置?如何有效实施?

是的,从命令提示符 (CMD) 运行 PowerShell 脚本需要安全设置和配置。这些设置围绕 PowerShell 中的执行策略功能,该功能确定 PowerShell 加载配置文件和运行脚本的条件。默认情况下,执行策略设置为“受限”,这会阻止脚本运行。

以下是有效实施这些设置的步骤:

1. 检查当前执行策略:要查看当前执行策略,请使用管理权限打开 PowerShell 并运行以下命令:

Get-ExecutionPolicy
“`
2. Change the Execution Policy: To allow running PowerShell scripts, you need to change the execution policy to one of the following:
– RemoteSigned: Allows locally created scripts to run without requiring a digital signature. Scripts downloaded from the internet require a trusted publisher’s digital signature.
– Unrestricted: Enables running any script without restrictions, regardless of its origin or whether it has a digital signature.
To change the execution policy, run the following command in PowerShell as an administrator:
“`
Set-ExecutionPolicy RemoteSigned
“`
Replace “RemoteSigned” with “Unrestricted” if you want to set the policy to unrestricted. Keep in mind that unrestricted may pose a security risk.
3. Run the PowerShell script from CMD: After setting the execution policy, you can now run PowerShell scripts from the Command Prompt by using the following command:
“`
powershell -ExecutionPolicy Bypass -File “PathToYourScript.ps1”
“`
This command temporarily bypasses the execution policy and runs the specified script.
4. Revert to the default Execution Policy: If you want to revert the execution policy back to its default setting (“Restricted”), simply run the following command in PowerShell as an administrator:
“`
Set-ExecutionPolicy Restricted

始终确保您信任正在运行的脚本的来源,以最大程度地降低安全风险。请记住,如果修改执行策略允许恶意脚本运行,则可能会使您的系统面临潜在威胁。

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

取消回复欢迎 发表评论:

关灯