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

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

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

您需要了解的 10 个基本 PowerShell 命令


您是否曾经尝试编写一些 PowerShell 代码却陷入困境?别再担心了!精通 PowerShell 的最佳方法之一是了解基础知识。了解一些基本的 PowerShell 命令可以使您成为专业人士,并且您将更有效地自动执行管理任务。

在本教程中,您将学习所需的基本 PowerShell cmdlet,以使您的 PowerShell 体验更加有趣。

先决条件

本教程将是一个实践演示,但没有太多先决条件。如果您想继续操作,任何具有 PowerShell 5.1 或更高版本的系统(Windows 或 Linux)都可以工作。尽管这些命令是使用 Windows PowerShell 显示的,但下面的示例可在 PowerShell 7+ 跨平台中运行。

使用 Get-Help 获取有关命令的帮助信息

您是否曾经像老板一样在没有任何帮助的情况下编写代码?嗯,在编写代码时总是需要帮助。无论您是在命令行环境中运行代码还是命令,Get-Help cmdlet 都会派上用场。

让我们从了解 Get-Help cmdlet 的工作原理开始本教程。

Get-Help cmdlet 为您提供有效使用任何命令而不会出现错误所需的指南。将其视为每个 PowerShell 命令的文档。

以管理员身份打开 PowerShell,然后运行下面的 Get-Help 命令来查看有关命令的详细 (-Detailed) 信息,例如 Get-ExecutionPolicy cmdlet。

Get-Help -Name Get-ExecutionPolicy -Detailed

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

也许您想要查看有关 cmdlet 的完整信息,而不仅仅是详细信息。如果是这样,请在 Get-Help 命令中添加 -Full 参数。

运行下面的代码以获取有关 Get-Help cmdlet 本身的完整 (-Full) 信息。

Get-Help Get-Help -Full

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

也许您仍然需要更多示例以避免运行命令时出现错误。在这种情况下,请添加 -Examples 参数以查看编写命令的示例。

运行下面的 Get-Help 命令来获取有关如何使用 Get-Process cmdlet 的示例 (-Examples)。

 Get-Help Get-Process -Examples

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

使用 Get-Process 检索计算机进程

您还记得显示所有进程、服务、应用程序以及所有这些的 Windows 任务管理器吗?好的! Get-Process cmdlet 是一个基本但必不可少的 cmdlet,它使您可以通过几个步骤访问计算机的所有进程,而无需打开任务管理器。

运行以下命令以表格格式获取所有系统进程的列表。

Get-Process

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

当某个进程冻结并导致计算机运行缓慢时,请通过将 Get-Process cmdlet 传送到 Stop-Process cmdlet 来停止该进程。例如:运行 Get-Process -Id 1252 | Stop-Process,其中 -Id 1252 指定要停止的进程的进程 ID。

使用 Get-History 获取 PowerShell 会话历史记录

可能需要检查您最近执行的命令,例如验证您最近执行的命令是否正确或者您是否实际执行了命令。但是 PowerShell 有命令历史记录吗?是的! Get-History cmdlet 返回当前 PowerShell 会话中所有最近命令的对象。

运行以下命令以获取当前会话中最近执行的所有命令的列表。

Get-History

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

如果您希望查看历史记录中的特定命令,请添加 -Id 参数,后跟历史记录中命令的 ID 号。例如,运行 Get-History -Id 2 以查看历史记录中的第二个命令。

使用 Get-Service 显示系统服务

Get-Process cmdlet 一样,PowerShell 还允许您查看系统中运行的所有服务。 Get-Service cmdlet 可让您查看所有服务,这些服务可以是数据库服务器或自动控制计算机屏幕亮度的应用程序。

运行以下命令以表格格式获取系统上所有服务的列表。使用此命令,您甚至可以查看已停止的服务。

Get-Service

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

也许您正在寻找以特定字符开头的服务。如果是这样,添加通配符 (*) 即可解决问题。

运行下面的 Get-Service 命令,并传递您要查看的服务的首字母和星号 (A*)。添加通配符可让您过滤所有不以字母“A”开头的服务。

Get-Service A*

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

使用 Start-Job 运行后台作业

如果还有很多东西要写,那么编写代码可能会很烦人,但单个命令却要花很长时间才能写完。没问题! PowerShell 提供了一个 cmdlet 来在会话上运行后台作业。 Start-Job cmdlet 提供了一个 PowerShell 环境,可以将代码或命令作为后台作业运行,无需用户交互。

运行下面的 Start-Job 命令来启动 Get-Command cmdlet 的后台作业。启动后台作业会运行 Get-Command cmdlet,而不在命令行上显示输出。

Start-Job -ScriptBlock {Get-Command}

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

由于您是后台作业,因此如何检查作业是否仍在运行或已完成?运行 Get-Job cmdlet 以获取会话中的所有作业。

使用 Set-Location 更改工作目录

有时您需要更改目录,例如从特定位置运行脚本或程序时。但是如何更改目录呢?让 Set-Location cmdlet 帮助您完成此任务。 Set-Location cmdlet 将当前工作目录设置为您在命令中指定的目录。

运行以下代码将当前工作目录设置为C:\Users\hp\Desktop更改 hp 为您计算机的用户名。

Set-Location C:\Users\hp\Desktop

下面,您可以在提示中看到 C:\Users\hp\Desktop 现在是工作目录。

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

通过 Test-Path 验证路径是否存在

如果您尝试访问不存在的文件,PowerShell 可能会显示错误。如何避免这种情况? Test-Path cmdlet 可让您通过其直观的语法检查路径是否存在。

现在,在桌面上创建一个文件夹,将其命名为NewFolder。

运行下面的 Test-Path 命令,后跟您想要测试的路径。对于本示例,该命令测试 C:\Users\hp\Desktop\NewFolder 路径是否存在。

Test-Path C:\Users\hp\Desktop\NewFolder

在下面,您可以看到命令返回了 True 值,因为路径存在。否则,您将得到 False 输出。

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

使用 ConvertTo-HTML 将 PowerShell 对象转换为 HTML

如果您更喜欢以有组织的形式存储数据,请使用 ConvertTo-Html cmdlet 将数据转换为 HTML。从根本上来说,该命令接受您想要转换的输出文件以及您想要保存它的文件名。

运行以下命令收集内存中所有 PowerShell 命令 (Get-Command) 的列表,并将该列表转换 (ConvertTo-Html) 为名为 Command.html

由于您之前更改了工作目录,HTML 文件已保存在您的桌面上。要将 HTML 文件保存在其他位置,请指定完整路径。例如:Get-Command |转换为 HTML > C:\Temp\Commands.html

# Creates a Commands.html file that contains all PowerShell commands
Get-Command | ConvertTo-Html > Commands.html

使用 Export-CSV 将 PowerShell 对象导出到 CSV

如果您认为 CSV 格式的报告比 HTML 格式的报告更好,请使用 Export-CSV cmdlet。与 ConvertTo-Html cmdlet 类似,Export-CSV cmdlet 允许您将数据导出到 CSV 文件。

运行以下命令收集 PowerShell 命令列表 (Get-Command),并将该列表导出为名为 Commands 的 CSV 文件 (Export-CSV)。 csv.

Get-Command | Export-CSV Commands.csv

与 ConvertTo-Html cmdlet 中一样,您还可以指定 CSV 文件的导出路径,如下所示:Get-Command |导出 CSV C:\Temp\Commands.csv

打开 Commands.csv 文件,您将看到类似下面的内容。不错吧?

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

使用 Get-Command 查看所有可用的 PowerShell 命令

列表中的最后一个 PowerShell 命令是 Get-Command cmdlet。 Get-Command cmdlet 基本上以表格格式列出了您可以运行的所有可用 PowerShell 命令。但正如您在前面的示例中所看到的,您知道这并不是 Get-Command 所能做的全部。

也许您想有选择地列出 cmdlet 或别名。如果是这样,请将 -CommandType 参数添加到 Get-Command cmdlet,以按指定的命令类型筛选输出。 -CommandType 参数的值可以是 AliasCmdletFunction

运行下面的 Get-Command 命令仅列出名称以“G”开头的 cmdlet (-CommandType Cmdlet) (-Name G*) 。

Get-Command -Name G* -CommandType Cmdlet

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

过滤 Get-Command 输出的另一种方法是将其通过管道传输到 Select-Object cmdlet。如您所知,Get-Command cmdlet 返回的对象采用表格格式。在该表中,列名称代表您可以从对象中选择的属性。

运行下面的 Get-Command 来收集所有 PowerShell 命令的列表,并过滤显示以显示每个命令的定义属性 (Select-Object -Property Definition)。

Get-Command | Select-Object -Property Definition

[玩转系统] 您需要了解的 10 个基本 PowerShell 命令

结论

本教程为您提供了有关运行基本 PowerShell 命令的全面指南。到目前为止,您应该知道如何广泛地管道和运行命令,并避免随时陷入编码困境。

现在,您将如何利用这些新发现的知识?也许学习如何在 PowerShell 脚本中编写多行命令而不把事情弄乱?

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

取消回复欢迎 发表评论:

关灯