[玩转系统] 掌握从 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. 如果执行策略未设置为Unrestricted
或RemoteSigned
,您将需要更改它。为此,请以管理员身份运行以下命令:
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
,请通过运行以下命令将其更改为 RemoteSigned
或 Unrestricted
(无论您喜欢哪个):
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
出现提示时输入 Y
并按 Enter 确认更改。
5. 要使用参数执行脚本,请使用以下语法:
.ScriptName.ps1 -Argument1 value1 -Argument2 value2
将 ScriptName
替换为 PowerShell 脚本的名称,将 Argument1
和 Argument2
替换为脚本中定义的参数名称。将 value1
和 value2
替换为您要作为参数传递的实际值。
例如,如果您的脚本名为 MyScript.ps1
并接受两个参数 Username
和 Password
,您将像这样执行它:
.MyScript.ps1 -Username JohnDoe -Password P@ssw0rd123
请记住将 JohnDoe
和 P@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. 使用 try
和 catch
块:通过将代码包装在 try
和 catch 块。这允许您以特定方式捕获和处理错误消息,例如记录错误或显示自定义错误消息。
try {
# Your main script logic here
}
catch {
Write-Host “Error: $_” -ForegroundColor Red
}
2. 使用$ErrorActionPreference
变量:设置此变量的值以控制PowerShell 如何响应非终止错误。默认值为继续
。其他可能的值包括SilentlyContinue
、Stop
和Inquire
。
例子 :
$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-Host
、Write-Output
和 Write-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
始终确保您信任正在运行的脚本的来源,以最大程度地降低安全风险。请记住,如果修改执行策略允许恶意脚本运行,则可能会使您的系统面临潜在威胁。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag