Powershell 初学者教程:学习 Powershell 脚本
让我们开始学习 Powershell 课程。首先,我们将学习:
什么是 PowerShell?
Windows PowerShell 是一种面向对象的自动化引擎和脚本语言。它主要为 IT 专业人员和系统管理员设计,用于控制和自动化 Windows 操作系统和其他应用程序的管理。它提供了引人注目的新概念,以扩展您在 Windows 命令提示符和 Windows 脚本宿主环境中获得的知识和创建的脚本。
它结合了脚本编写的灵活性、命令行速度和基于 GUI 的管理工具的强大功能。它允许您通过帮助系统管理员消除未来的体力劳动时间来有效地解决问题。我们将介绍学习 PowerShell 应了解的所有重要方面。
在这个面向初学者的 Powershell 教程中,您将学习 Powershell 基础知识,例如:
- 什么是 PowerShell?
- 为什么要使用 Powershell?
- PowerShell 历史
- Powershell的特点
- 如何启动 PowerShell
- PowerShell Cmdlet
- Cmdlet 与命令:
- Powershell 数据类型:
- 特殊变量
- PowerShell 脚本
- 第一个 PowerShell 脚本
- 什么是 PowerShell ISE?
- PowerShell 概念
- PowerShell 与命令提示符
- Powershell的应用
这是 Powershell 脚本基础的完整指南……让我们开始吧!
为什么要使用 Powershell?
以下是使用 Powershell 的一些重要原因:
- Powershell 为操作系统提供了良好集成的命令行体验
- PowerShell 允许完全访问 .NET 框架中的所有类型
- 受到系统管理员的信任。
- PowerShell 是一种操作服务器和工作站组件的简单方法
- 它通过创建更简单的语法面向系统管理员
- PowerShell 比运行 VBScript 或其他脚本语言更安全
PowerShell 历史
PowerShell 第一个版本 1.0 于 2006 年发布。今天,PowerShell 的版本为 7.2。随着时间和版本的流逝,PowerShell 的功能和托管环境显着增长。
让我们看看 Powershell 的版本历史:
- PowerShell 版本 1 支持 Windows Server 2003 的本地管理
- PowerShell 2.0 已与 Windows 7 和 Windows Server 2008 R2 集成。此版本支持远程处理并增强了 PowerShell 的功能,例如事务、后台作业、事件、调试等。
- PowerShell 3.0 作为 Windows 管理框架的内部部分发布。它安装在 Windows 8 和 Windows Server 2012 上。您可以添加和计划作业、会话连接、自动模块加载等。
- PowerShell 4.0 随 Windows 8.1 和 Windows Server 2012 R2 一起提供。在此版本中,增加了对所需状态配置、增强调试、网络诊断的支持。
- PowerShell 5.0 作为 Windows 管理框架 5 的内部部分发布。此版本中提供的功能包括远程调试、类定义、.NET 枚举等。
- PowerShell 7.2 已发布。它建立在 .NET 6.0 之上。此版本提供新的运算符、简化和动态的错误视图、自动新版本通知等。
接下来的Powershell脚本教程,我们将学习Powershell的特性。
Powershell 的特点
- PowerShell 远程处理 :PowerShell 允许在远程计算机上调用脚本和 cmdlet。
- 后台作业 :它可以帮助您异步调用脚本或管道。您可以在本地机器或多台远程操作的机器上运行作业。
- 交易 :启用 cmdlet 并允许开发者执行
- 晚上: 此命令可帮助您侦听、转发和处理管理和系统事件。
- 网络文件传输: Powershell 使用后台智能传输服务 (BITS) 技术为机器之间的优先级、异步、节流文件传输提供本机支持。
如何启动 PowerShell
现在在这个 Powershell 脚本教程中,我们将学习如何在 Windows 操作系统上启动 Powershell。
PowerShell 预装在所有最新版本的 Windows 中。我们需要启动 PowerShell,我们需要按照给定的步骤:
步骤 1) 在 Windows 中搜索 PowerShell。选择并点击
步骤 2) Power Shell 窗口打开
PowerShell Cmdlet
也称为 Command let 的 cmdlet 是在 Window 基础 PowerShell 环境中使用的轻量级命令。 PowerShell 在命令提示符中调用这些 cmdlet。您可以使用 PowerShell APIS 创建和调用 cmdlet 命令。
Cmdlet 与命令:
Cmdlet 与其他命令外壳环境中的命令有以下不同之处?
- Cmdlet 是 .NET Framework 类对象,不能单独执行
- Cmdlet 只需十几行代码即可构建
- 解析、输出格式和错误表示不由 cmdlet 处理
- Cmdlet 进程适用于对象。所以文本流和对象不能作为流水线的输出传递
- Cmdlet 是基于记录的,因此它一次处理一个对象
大多数 PowerShell 功能来自 Cmdlet,它始终采用动词-名词格式,而不是复数形式。此外,Cmdlet 的返回对象不是文本。 cmdlet 是一系列命令,多于一行,存储在扩展名为 .ps1 的文本文件中。
cmdlet 始终由动词和名词组成,用连字符分隔。一些用于学习 PowerShell 的动词是:
- 获取 — 得到一些东西
- 开始 — 运行某事
- 退出 — 输出一些东西
- 停止 — 停止正在运行的东西
- 设置 — 定义一些东西
- 新 — 创造一些东西
PowerShell 命令
以下是重要的 PowerShell 命令列表:
获取帮助: 关于 PowerShell 命令和主题的帮助
示例:显示命令Format-Table的帮助信息
Get-Help Format-Table
获取命令: 获取任何可以调用的信息
Powershell 脚本示例:生成 cmdlet 列表,您的机器中安装的函数
Get-Command
获取服务: 查找其中包含“服务”一词的所有 cmdlet。
示例:获取所有以“vm”开头的服务
Get-Service "vm*"
获取-会员: 展示对象可以做什么
示例:获取 vm 进程的成员。
Get-Service "vm*" | Get-Member
其他命令:
- 获取模块显示命令包
- 获取内容 此 cmdlet 可以获取文件并处理其内容并对其执行某些操作
- Get-get 查找所有以单词“get-”开头的 cmdlet
示例:创建文件夹
New-Item -Path 'X:\Guru99' -ItemType Directory
输出
Powershell 数据类型:
<中心>
<图>
Powershell 数据类型
图>
特殊变量
PowerShell 脚本
Powershell 脚本存储在 .ps1 文件中。默认情况下,您无法通过双击文件来运行脚本。这可以保护您的系统免受意外伤害。执行脚本:
第1步:右键单击它,然后单击“使用PowerShell运行”。
此外,还有一个限制脚本执行的策略。您可以通过运行 Get-ExecutionPolicy 命令查看此策略。
您将获得以下输出之一:
- 受限 — 不允许使用脚本。这是默认设置,因此在您第一次运行命令时会显示。
- 全签名 — 您可以运行由受信任的开发人员签名的脚本。在此设置的帮助下,脚本会在执行之前要求您确认您要运行它。
- 远程签名 — 您可以运行由受信任的开发人员签名的脚本。
- 无限制 — 你可以运行任何你想运行的脚本
更改执行策略的步骤
步骤 1) 打开提升的 PowerShell 提示符。右键单击 PowerShell 并“以管理员身份运行”
步骤 2) 输入以下命令
- 获取执行策略
- 设置执行策略不受限制
- 在提示符中输入 Y
- 获取执行策略
第一个 PowerShell 脚本
在记事本中写入以下命令
Write-Host "Hello, Guru99!"
PowerShell 脚本具有扩展名 ps1。将文件另存为 FirstScript.ps1
在Powershell中,使用命令调用脚本
& "X:\FirstScript.ps1"
什么是 PowerShell ISE?
Windows PowerShell 集成脚本环境 (ISE) 是 Windows PowerShell 的默认编辑器。在此 ISE 中,您可以在基于窗口的 GUI 环境中运行命令、编写器测试和调试脚本。您可以进行多行编辑、语法着色、制表符补全、选择性执行等等。
Windows PowerShell ISE 还允许您在控制台窗格中运行命令。但是,它还支持可用于同时查看脚本源代码的窗格以及可插入 ISE 的其他工具。
您甚至可以同时打开多个脚本窗口。这在您调试使用其他脚本或模块中定义的函数的脚本时特别有用。
<中心>
<图>
PowerShell ISE
图>
我们在记事本中创建的相同脚本,可以在 ISE 中创建
- 将代码粘贴到编辑器中
- 保存脚本
- 使用 F5 运行脚本
- 在控制台中观察输出
示例 2:
以下代码将给出您机器中的可用虚拟内存
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShell 概念
现在在这个 Powershell 初学者教程中,我们将了解重要的 Powershell 概念:
Cmdlet Cmdlet 是用 .net 语言(如 VB 或 C#)编写的构建命令。它允许开发人员通过加载和编写 PowerShell 管理单元来扩展 cmdlet 集。功能 函数是用 PowerShell 语言编写的命令。它可以在不使用 Visual Studio 和 devs 等其他 IDE 的情况下进行开发。脚本 脚本是磁盘上的文本文件,扩展名为 .ps1应用程序 应用程序是现有的 Windows 程序。如果 告诉 cmdlet 不要执行,而是告诉您如果要运行 cmdlet 会发生什么。确认 指示 cmdlet 在执行命令之前进行提示。详细 提供更高级别的详细信息。调试 指示 cmdlet 提供调试信息。ErrorAction 指示 cmdlet 在发生错误时执行特定操作。允许的操作继续、停止、静默 - 继续和查询。ErrorVariable 它指定保存错误信息的变量。OutVariable 告诉 cmdlet 使用特定变量来保存输出信息OutBuffer 指示 cmdlet 在调用管道中的下一个 cmdlet 之前保存特定数量的对象。使用 PowerShell 脚本的优势
- PowerShell 脚本真的很强大,可以用更少的行做很多事情。
- 变量以 $
- 变量可用于保存命令、对象和值的输出。
- 不需要指定变量的“类型”。
PowerShell 对比。命令提示符
Powershell的应用
如今,PowerShell 已成为 IT 管理员的理想选择,因为它简化了大型企业网络中的管理操作和工作量。例如,假设您正在管理一个包含 400 多台服务器的大型网络。现在您想要实施一个新的安全解决方案。此安全解决方案依赖于需要在这些服务器上运行的特定服务。
您当然可以登录到每台服务器,看看他们是否安装并运行了该服务。但是,这肯定会出现很多人为错误,因为您的员工需要在这个非生产性流程上花费大量时间。
但是,如果您使用 PowerShell,那么您可以在几分钟内完成此任务。这是因为整个操作是通过一个脚本完成的,该脚本收集有关服务器上运行的服务的信息。
总结
- Windows PowerShell 是面向对象的自动化引擎和脚本语言
- Powershell 为操作系统提供了良好集成的命令行体验
- PowerShell 第一个版本 1.0 于 2006 年发布
- PowerShell 允许在远程计算机上调用脚本和 cmdlet
- PowerShell 预装在所有最新版本的 Windows 中
- cmdlet 是在 Window 基础 PowerShell 环境中使用的轻量级命令
- Get、Start、Out、Stop、Set、New 是重要的 PowerShell 命令
- Boolean、Byte、Chat、Decimal、Decimal、Long 是 PowerShell 的重要数据类型
- $错误。 $Host、$Profile、$PID、$PSUICulture、$NULL 是 PowerShell 中使用的一些特殊变量
- Windows PowerShell 集成脚本环境 (ISE) 是 PowerShell 的默认编辑器
- PowerShell 与 Windows 操作系统深度集成,而命令提示符是 Microsoft 提供的默认命令行界面
- PowerShell 已成为 IT 管理员的理想选择,因为它可以简化大型企业网络中的管理操作和工作
C语言
- Windows 10 IoT Core for Raspberry Pi 3 Model B+
- 构建 Raspberry Pi 机器人:初学者的最佳教程
- 适合初学者的 CNC 路由器
- 如何在 Windows 中下载和安装 Visual Studio for C#
- C# IF、Switch、For、While 循环语句教程 [示例]
- C# Windows 窗体应用程序示例教程
- 适用于 Windows、Linux、Mac 的 10 个最佳 C# IDE(2021 更新)
- 如何在 C 中为 Windows PC 下载和安装 GCC 编译器
- 20 多个适用于 Windows、Mac 和 Linux 的最佳 C IDE(2021 年编辑)
- C 编程语言 PDF:初学者基础教程
- 数控铣床初学者的4个技巧
- 初学者概述:什么是金属加工?