电源外壳 为您提供对 Windows PC 所需的所有控制,并且易于学习。因此,放弃 命令提示符 并使用 Windows PowerShell 命令自动执行这些重复的管理任务。
学习 PowerShell 还将教您如何在 bash shell 中处理大多数 Linux 管理任务。 PowerShell 与您在大多数 Linux 发行版 中发现的类似。
什么是 PowerShell?
Windows PowerShell 是 Microsoft 为系统管理员开发的命令行界面和脚本语言。但您不必成为管理员或程序员即可使用它,因为它比其他编程语言简单得多。它与普通英语类似,每个人都可以理解它并用它来管理自己的计算机。
Windows PowerShell 中使用的命令称为“cmdlet”。它们将允许您在计算机上激活特定操作或一系列操作。这些操作可以很简单,例如登录无线网络,也可以更复杂,例如自动执行特定的重复任务。
要打开 PowerShell,请按开始 按钮,在搜索框中键入“powershell ”,然后选择Windows PowerShell 。您将打开命令行界面,您可以在其中开始输入命令。
在本文中,我们将介绍十多个最有用且最简单的 PowerShell 命令。
1。获取帮助
Get-Help cmdlet 是 PowerShell 中的一个很好的起点。它概述了您可以执行的操作,并且当您需要有关特定 cmdlet 的更多信息时也非常有用。
只需打开 PowerShell 窗口并输入 Get-Help 。这将打开一个全面的概述,教您什么是 PowerShell,并且您将了解它的功能和结构。您还可以直接通过界面访问网络以获取更高级的帮助文件。您可以下载这些文件以供以后使用。
但这并不是 get-help 命令的结束。类型:
获取帮助 *
PowerShell 将列出您当时可以使用的所有 cmdlet。该列表可能会很大,您不需要了解所有显示的 cmdlet。但请随意阅读它们并探索您可用的所有可能性。.
类型:
获取帮助<命令名称>
您不需要括号,只需键入您感兴趣的命令的名称,此 cmdlet 将为您提供有关该命令的基本信息。有关命令的更详细说明,请键入:
Get-Help <命令名称>-Full
如果您需要如何使用特定命令类型的示例:
Get-Help <命令名称>-示例
2。获取命令
您想快速检索有关特定命令或命令集的信息吗? Get-Command cmdlet 将为您执行此操作。 Get-Command 中有很多选项,但作为 PowerShell 的基本用户,您并不需要其中的大部分选项。以下是一些有用的基本 cmdlet,尤其是在浏览可用命令时。
如果您想要相同类型的特定 cmdlet 列表:
获取命令 -<命令类型>
例如,这个复杂的短语将命令您的计算机显示所有可用 cmdlet 类型命令的列表,并按名称中名词的字母顺序对它们进行排序:
Get-Command -Type Cmdlet |排序对象-属性名词|格式表-GroupBy名词
这是一个更复杂命令的绝佳示例,它将使 PowerShell 执行复杂的任务。一旦理解了语法,您就会发现使用 PowerShell 通常是在计算机上完成某些操作最快且最简单的方法。
如果您想通过名称查找特定命令,只需键入:
Get-Command -Name <命令名称>
如果您不知道要查找的命令的确切名称,但知道该名称的一部分,则可以输入:
Get-Command -Name <命令名称>-UseFuzzyMatching
此 cmdlet 将要求您的计算机查找与您在
3。获取内容
如果您想查看文件的内容,请使用 Get-Content cmdlet。您需要指定该文件的确切位置,以便您的计算机可以找到它。.
在上面的示例中,您可以看到为此目的而创建的测试文本文件的内容。这是一个简单的命令,但如果您知道它的作用,则可以将其与其他命令结合使用,并通过 Windows PowerShell 执行真正强大的任务。
4。获取进程
Get-Process cmdlet 将为您提供有关计算机上当前正在运行的进程的信息。您可以查看内存使用情况、CPU 周期、进程 ID 和其他属性。
如果将进程的名称添加到此 cmdlet,您可以看到有关特定进程的信息。例如,如果您想了解有关 Discord 申请流程的信息,只需键入Get-Process Discord 。
您只需替换语法的“Get”前缀即可通过 PowerShell 启动或停止进程。要启动进程,请键入:
Start-Process <进程名称或 ID>
要停止进程,请键入:
停止进程<进程名称或ID>
5。获取服务
作为系统管理员,您可能会发现 Get-Service cmdlet 非常有用。这个简单的 cmdlet 将显示系统上当前运行的所有服务并允许您控制它们。这意味着您可以看到当前正在运行的所有程序以使您的计算机运行。
现在您可以使用服务名称来控制它。使用诸如 Restart-Service <服务名称> 之类的命令来取消冻结的服务,使用 Stop-Service <服务名称> 来完全停止它们,以及 Start-Service 再次启动它们。
6。获取项目
如果您需要特定项目,通过 PowerShell 查找它可能比使用操作系统中集成的搜索栏更快。如果您知道所需文件的位置,这会特别方便。只需这样使用命令即可:
获取项目 C:
这将为您带来“C:”硬盘中的文件列表。您可以更具体地搜索用户个人资料下的所有目录,或者更深入地搜索“文档”或“下载”目录。为此,请键入:
Get-Tem C:\users\<用户名>\* .
如果需要从容器(例如系统目录)检索子项,可以使用 cmdlet Get-ChildItem 。此命令将显示该容器内的所有文件和目录。与 Get-Item cmdlet 一样,您需要指定容器的路径。
要删除项目,您可以将“获取”后缀替换为“删除”。这将允许您删除所有内容,从文件和文件夹到注册表项和功能。输入删除项目<位置\名称> 。您可以详细说明此 cmdlet,仅删除隐藏文件和“只读”文件,或删除特定文件夹和子文件夹中的项目。
7。转换为 Html
此命令将帮助您将 .NET 对象转换为可在 Web 浏览器中显示的 HTML 文件。这是一个输出 cmdlet,这意味着它可以与其他 cmdlet 配合使用。只需将其添加到其他 cmdlet 的末尾并包含特定的文件路径即可。
例如,如果您要创建一个 HTML 文件来显示本地计算机当前所有进程的名称、路径和公司,请键入:
获取进程 | ConvertTo-Html -属性名称、路径、公司 -标题“流程信息”|输出文件 filename.htm
将 filename.htm 替换为您想要的任何文件名。
要打开创建的文件,请使用Invoke-Item cmdlet 加上<文件名.htm> 。内容应如下图所示。
8。设置执行策略
如果您想运行本地PowerShell脚本,则必须更改PowerShell本身的执行策略。在 Windows 计算机上,执行策略始终受到限制,您需要将其更改为 RemoteSigned 或 Unrestricted。在非 Windows 计算机(例如 Linux 或 Mac)上,它通常设置为“无限制”,并且无法更改。
如果您想了解有关 PowerShell 执行策略的更多信息,只需键入:
帮助设置执行策略
PowerShell 将显示有关您计算机上的执行策略的帮助文件,如果没有则通知您。但它还会为您提供一个链接,您可以点击该链接并在线阅读相关内容。.
要将策略设置为 RemoteSigned,只需键入:
设置执行策略远程签名
要将其设置为无限制类型:
设置执行策略不受限制
要检查执行策略的当前设置,请键入:
获取执行策略
由于执行策略是 PowerShell 安全策略的一部分,因此它会要求您确认更改。仅当您确定要继续时才键入Y 。
9。选择对象
此命令用于选择对象和对象集、唯一对象以及数组中特定位置的对象。您可以使用不同的参数来指定要选择的对象。其中包括属性、数值和特定的输入对象。
要按属性选择对象,您需要指定名称、ID 或 CPU 等属性。您甚至可以对属性进行分组,但在输入命令时必须用逗号分隔它们。要查看操作中的 Select-Object cmdlet,请键入:
获取进程 |选择对象-属性进程名称、ID、CPU
PowerShell 将列出当前所有进程及其属性,如下所示。
您现在可以使用 -EpandProperty 命令获取有关特定属性的详细信息。如果您想要有关 ProcessName 属性类型的 Modules 属性的详细信息:
获取进程 Chrome |选择对象 -Property ProcessName -ExpandProperty 模块 |格式列表
命令的“Format-list”输出用于使结果格式化且可读。
10。导出-CSV
有时,PowerShell 命令会产生很长的列表,正如我们在 Get-Command cmdlet 中看到的那样。长列表和大量信息很难阅读,您需要以更有条理的方式进行阅读。为此,请将所有数据导出到 CSV 文件中。您可以使用 Export-CSV 函数直接在 PowerShell 中执行此操作。
例如,我们看到 cmdlet Get-Command 为我们提供了当时可以在 PowerShell 中使用的所有可用 cmdlet 的长列表。您可以结合使用 Get-Command 和 Export-CSV 创建包含逗号分隔值的详细列表,例如 Excel 等应用程序可以识别的名称、来源和版本。.
为此,请在 PowerShell 命令提示符中键入以下命令,但请注意,您可以设置所需的任何路径,并且可以以不同的方式命名文件:
获取命令 |选择名称、来源、版本 |导出 csv D:\AllCommands.csv
您现在可以在 Excel 中打开该列表,您应该会看到类似于下图的内容。
.