无论您是技术爱好者还是希望提高脚本编写技能的专业人士,我们都为初学者设计了这份Windows PowerShell脚本教程,尤其是为您设计的。因此,如果你对PowerShell脚本没有先验知识,这篇文章将从基础开始。
我们将引导您完成安装过程,帮助您了解PowerShell环境,并逐步向您介绍PowerShell脚本的核心概念和功能。所以,如果你已经准备好学习PowerShell脚本编程,让我们一起开始这段令人振奋的旅程吧!
什么是Windows PowerShell?
PowerShell由微软开发,是命令行外壳和脚本语言的混合体。它使用户能够更高效地自动执行任务和管理复杂的系统配置。借助命令行处理、脚本编写功能和系统管理工具,PowerShell为管理Windows操作系统提供了一个无缝且强大的平台。
PowerShell的特点及应用
因此,使用PowerShell,您可以:
- 使用cmdlet进行开发。
- 自动执行任务。
- 使用PowerShell脚本和cmdlet远程管理Windows OS设备。
- 访问所有类型的.NET框架。
- 倾听、转发与管理相关的事件并采取行动
- 使用简单的语法控制服务器和工作站组件。
- 跨应用程序共享数据。
- 使用BITS(后台智能传输服务)在设备之间获得对文件传输的内置支持。
- 在本地设备或多个远程设备上后台运行脚本作业。
- 与VBScript或其他脚本语言相比,脚本更加安全。
要了解更多信息,请参阅我们关于什么是Windows PowerShell以及升级到最新版本的功能和好处的详细帖子。
面向初学者的Windows PowerShell脚本教程
因此,如果您是系统管理员,您可以利用PowerShell高效地解决问题,并避免在未来将时间投入到手动工作中。也就是说,在这篇面向初学者的Windows PowerShell脚本编写教程结束时,您将不仅学习PowerShell脚本编写,还将拥有坚实的基础。
1]如何启动PowerShell?
PowerShell预装在Windows中,因此不需要单独下载和安装。因此,以下是启动PowerShell的方法:
右击开始,然后从菜单中选择Windows终端。
这将打开PowerShell窗口。
要使用管理员权限打开PowerShell,请右键单击开始,然后选择Windows终端(管理员)。
现在,您可以在PowerShell中运行cmdlet或命令。
阅读:如何使用PowerShell自动执行任务
2]验证脚本执行策略设置
出于安全考虑,PowerShell中运行的脚本会自动受到限制。因此,我们建议您验证在PowerShell中运行脚本的执行策略。要检查PowerShell执行策略,您必须创建并运行PowerShell脚本文件。
3]什么是PowerShell Cmdlet?
Cmdlet是在PowerShell中执行特定操作的简短轻量级命令。Cmdlet形成遵循一致语法的PowerShell脚本和命令的基本块。它们是用.NET编写的,旨在使用Get-Process、Stop-Service或New-Item等简短命令执行单一功能。因此,这些更像是启动某事的命令。
已阅读:如何使用任务计划程序计划PowerShell脚本
4]Cmdlet和Command之间的区别
也就是说,要学习PowerShell脚本编程,您必须了解cmdlet和命令之间的区别。Cmdlet与其他命令外壳环境中的命令不同。以下是操作方法:
- Cmdlet是.NET框架类对象,因此不能单独运行这些命令。
- Cmdlet可以很容易地创建,因为与命令相比,这些cmdlet更短。
- 与PowerShell不同,cmdlet不处理错误表示、分析或输出格式设置。
- 因为已知cmdlet对对象起作用,而不是对文本流和对象起作用。
- Cmdlet一次只处理一个对象,因为它们是基于记录的。
对于PowerShell,有以下区别:
- 虽然大多数命令包含cmdlet,但也有其他类型的命令,如函数、别名或外部可执行程序。
- Cmdlet是PowerShell中的一种特定类型的命令,但命令可以包含更广泛的操作和功能。
因此,简而言之,cmdlet是PowerShell中的命令,但并非PowerShell中的所有命令都一定是cmdlet。
5]什么是PowerShell脚本?
现在,为了自动化管理任务,您将使用cmdlet、函数、变量等在PowerShell中形成语句,此过程称为脚本。这是帮助您自动执行管理任务的PowerShell语言。要完成这些任务,您需要创建步骤,这些步骤进一步存储在扩展名为.ps1的文件中。该文件是您需要运行的脚本。
因此,下面是构成脚本步骤的组件。
已阅读:如何打开或关闭Windows PowerShell脚本执行
6]PowerShell脚本的组件有哪些?
PowerShell命令列表
- Get-Process-调出与系统正在运行的进程相关的详细信息。
- Get-Service-获取系统上服务的当前状态。
- Get-ChildItem-调出目录中的整个文件和文件夹列表。
PowerShell数据类型
一些常见的PowerShell数据类型包括:
- 字符串-单引号(‘’)或双引号(“”)中的一系列字符,可以是字母、数字、符号和空格。
- 整数-这些是整数减去小数或小数部分。
- DOUBLE-这些是具有小数精度的浮点数。例如,2.15或-0.2。
- 布尔-它们通常用于条件表达式和比较,可能的值为TRUE或FALSE。
- 哈希表-它是一组键-值对,其中每个键必须是唯一的,就像密码一样。它们主要用于使用命名键存储和检索数据。
- 数组-它是一组属于相同数据类型的有序和索引元素。例如,一组名称或整数。要在PowerShell中创建数组,必须将用逗号分隔并用括号括起来的值列表赋给变量,如下所示:
$Colors=(“红色”,“绿色”,“蓝色”)
要单独访问数组的每个元素,可以使用索引运算符[n]。通常,数组中第一个元素的索引始终为0。请参考下面的示例:
$Colors=(“红色”,“绿色”,“蓝色”) WRITE-HOST$COLLES[0]#第一个元素的输出:red WRITE-HOST$COLLES[1]#第二个元素的输出:绿色 WRITE-HOST$COLLES[2]#第三个元素的输出:Blue
您还可以为索引指定新值,如下所示:
$Colors=(“红色”,“绿色”,“蓝色”) $COLLES[1]=“白色” WRITE-HOST$COLLES[1]#输出:白色
PowerShell变量
这些参数是命令的参数,用于存储值。
变量名以$开头,然后跟在变量名之后。请注意,变量名称不区分大小写,例如,您可以同时编写$Colors或$Colors,这并不重要。
要为变量赋值,必须使用=符号,如下所示:
-
$COLOR=“红色”
-
$数字=20
动力壳牌管材
PowerShell管道(也称为管道)是将一个cmdlet的输出传递给另一个cmdlet的运算符或符号|。这有助于创建对复杂任务有用的单行命令。
下面是一个帮助检索所有系统服务并根据状态对其进行分类的示例:
Get-Service|排序-对象-属性状态
PowerShell运算符
操作员 |
符号 |
目的 |
算术运算符 | +、-、*、/、% | 计算数值 |
赋值操作符 | %=、+=、-=、=、*=、/= | 帮助为变量赋值、更改或更改值 |
比较运算符 | -le,-ne,-gt,-lt,-eq,-ge | 二元运算符,根据运算符条件是否满足来比较返回True/False的两个整数值或字符串值。 |
逻辑运算符 | -或者,-异或,-和,-不是,! | 基于布尔值,它们将多个运算符表达式和语句相加为复杂的条件条件。它们返回布尔值形式的输出。 |
重定向操作符 | >;>;、>;、2>;&>、2&>和2&>&;1 | 将命令或表达式的输出发送到文本文件。 |
拆分和连接运算符 | -拆分,-加入 | 除子字符串并将其相加。 |
类型运算符 | -不是,-是,-作为 | 查找或修改对象的.NET框架类型。 |
一元运算符 | ++(增量)、-(递减) | 将变量的值增加或减少1 |
要查找有关任何cmdlet的详细信息,可以使用以下命令:
获取cmdlet的帮助
您可以参考我们关于基本PowerShell命令的详细帖子,以了解最常用的命令。
7]运行PowerShell脚本
虽然您可以使用记事本创建脚本,然后从PowerShell调用它,但使用PowerShell集成脚本环境(ISE)总是更好的选择。
虽然PowerShell ISE应用程序已预装在Windows 11中,但如果您在计算机上找不到该应用程序,您可以通过可选功能安装PowerShell ISE。
要启动PowerShell ISE,请打开提升的Windows PowerShell,键入以下命令并按Enter键:
PowerShell_ise.exe
您可以通过PowerShell ISE的Microsoft官方页面获取更多相关信息。
为了学习PowerShell脚本,下面介绍如何创建和运行PowerShell脚本文件。我们还在下面指定了一个可在PowerShell窗口中运行的示例脚本:
#提示用户输入姓名 $NAME=读取主机“输入您的姓名” #问候用户 WRITE-HOST“你好,$NAME!欢迎使用PowerShell脚本。”
输入脚本后,单击菜单栏中的绿色箭头图标以运行脚本或按F5键。
接下来,在Enter Your Name:(输入您的姓名:)字段旁边输入您的姓名,然后按Enter。
它将生成如下问候语:
你好,马杜!欢迎使用PowerShell脚本。
阅读:Windows PowerShell ISE与Windows PowerShell:有什么不同?
如何快速学习PowerShell脚本编写?
To learn PowerShell scripting quickly, understand command-line interface basics and common cmdlets. It’s useful to have a grasp of scripting fundamentals and Windows administration. Prioritize hands-on practice, use online tutorials, engage with PowerShell communities, and frequently write and test small scripts to build your skills efficiently.