首页 > 系统相关 >跟着微软官方学习Powershell-在 PowerShell 中发现命令

跟着微软官方学习Powershell-在 PowerShell 中发现命令

时间:2024-02-02 10:06:20浏览次数:23  
标签:Help Get 微软 Powershell Member 命令 cmdlet PowerShell

1、说明

PowerShell 预安装了大量命令。 若要有效地使用 PowerShell 命令,您需要了解它们的工作原理。 例如,你需要知道命令所采用的参数,以及可以使用多种方法来调用命令。

它还有助于了解命令返回的内容、返回的类型以及命令的属性。 通过了解这些事项,你可以配置如何显示帮助。 此外,还会显示一条提示,指出如果将特定命令与另一个命令结合使用,这两个命令如何匹配。

2、使用帮助系统发现命令

通过使用 PowerShell 中的内置帮助系统,可以了解有关特定命令的详细信息。 使用 Get-Command cmdlet 可查找所需的命令。 找到命令后,你可能想要了解有关该命令的作用以及各种调用方法的详细信息。

2.1、使用帮助系统和 Get-help 发现 cmdlet

可使用 Get-Help 核心 cmdlet 来了解有关所选命令的详细信息。 通常,可通过按名称指定 Get-Help 并添加 -Name 标志(其中包含你想要了解的 cmdlet 的名称)来调用它。 下面是一个示例:

PowerShell复制

Get-Help -Name Get-Help

2.2、更新帮助

默认情况下,PowerShell 的新版本不包含帮助系统。 首次运行 Get-Help 时,系统会要求安装帮助文件。 你还可运行 Update-Help cmdlet 以安装帮助文件。 由于对 Update-Help 的调用会下载多个帮助文件,因此默认情况下,该命令每日只能提取一次。 可使用 -Force 标志重写此提取行为。

与 Linux 或 macOS 相比,在 Windows 上更新帮助文件的方式不同。 运行 Update-Help cmdlet 时,此过程将匹配计算机的区域性,以通过 Internet 获取帮助文件。 在 Windows 上,已经安装了一个区域性,但它在 Linux 和 macOS 上会丢失。 因此,在 Linux 和 macOS 上更新帮助文件时,需要指定一个区域性。

下面是一个示例命令:

PowerShell复制

Update-Help -UICulture en-US -Verbose

此命令指定 -UICulture 标志。 它为该标志提供值 en-US,这将提取英语帮助文件。 若要在 macOS 或 Linux 上更新帮助文件,请使用与你计算机的区域性相对应的区域性。

2.3、探索帮助部分

调用 cmdlet 上的 Get-Help 时,将返回帮助页。 此页面包含许多部分。 你可能会看到以下常见部分:

  • NAME:提供命令的名称。
  • SYNTAX:介绍如何通过使用标志组合(有时还可使用允许的参数)来调用命令。
  • ALIASES:列出了命令的所有别名。 别名是命令的不同名称,可用于调用命令。
  • REMARKS:提供有关要运行的命令的信息,以获取有关此命令的更多帮助。
  • PARAMETERS:提供有关参数的详细信息。 包括参数的类型、较长的说明和可接受的值(如果适用)。

2.4、筛选帮助响应

如果不想显示完整的帮助页面,可向 Get-Help 命令添加标志,以缩小响应范围。 下面是可以使用的一些标志:

  • Full:返回详细的帮助页面。 它指定了无法从标准响应中获取的参数、输入和输出等信息。
  • Detailed:返回与标准响应类似、但包含参数部分的响应。
  • Examples:仅返回示例(如果存在)。
  • Online:为命令打开一个网页。
  • Parameter:需要形参名称作为实参。 它列出特定参数的属性。

例如,可使用以下命令仅返回帮助页的“示例”部分。

PowerShell复制

Get-Help Get-FileHash -Examples

2.5、提升阅读体验

运行 Get-Help 命令将返回整个帮助页。 此页可能无法提供最佳阅读体验。 你可能必须滚动查找要阅读的部分。 更好的方法是使用 help 别名。 help 别名可将 Get-Help 传递到函数,确保输出逐行可读。 它还通过对输出进行分页,使响应逐页可读。 在下一个单元中使用别名 help

3、发现对象

运行 cmdlet 运行时,将返回一个对象。 调用 cmdlet 时,所看到的响应已被格式化,并可能不一定表示响应的所有可用信息。 若要详细了解正在返回的内容以及如何修改返回的内容,可以使用命令 Get-Member

3.1、使用 Get-Member 发现对象

Get-Member cmdlet 将基于命令进行传递,以便可以筛选输出。 Get-Member 的典型命令行调用如以下示例所示:

PowerShell复制

Get-Process -Name 'name-of-process' | Get-Member

此命令首先通过调用 Get-Process 生成对象结果。 该结果通过使用管道 (|) 作为输入传递给 Get-Member。 在返回结果中,你将获得一个表,其中包含 NameMemberType 和 Definition 列。 你还会获得返回对象的类型。

 提示

若要获取计算机上运行的进程列表,请运行 Get-Process

3.2、按类型搜索

运行 Get-Member 命令时响应的第一行是返回对象的类型。 知道类型后,可搜索对同一类型运行的其他 cmdlet。 浏览这些相关命令,快速了解你所使用的域。

假设你调用了 PowerShell 命令来列出特定进程的所有成员。 结果的前几行看起来类似于以下输出:

输出复制

TypeName: System.Diagnostics.Process

Name                       MemberType     Definition
----                       ----------     ----------
Handles                    AliasProperty  Handles = Handlecount

第一行指示类型为 System.Diagnostics.Process。 使用此类型作为搜索参数,查找使用此类型的其他 cmdlet。 下面是一个示例命令:

PowerShell复制

Get-Command -ParameterType Process

结果是在此类型上操作的 cmdlet 列表。 通过使用 Get-Member 并学着解释其结果,你就慢慢了解 PowerShell 了。

 提示

PowerShell 只需一次了解一点就可以了。 发现相关 cmdlet 的一个好方法是使用返回的类型按类型搜索 cmdlet。

3.3、使用 Select-Object 筛选 Get-Member 结果

运行 Get-Member 时,结果是详细的。 也就是说,会返回很多行。 对象可能包括事件和方法等属性。 若要使答案更简洁,可以筛选特定列,还可决定要显示的列。 请记住,返回的答案已是响应中所有列的子集。

查看包含许多列的 Get-Member 响应。 通过引入 cmdlet Select-Object,你可以选择在响应中显示哪些列。 此命令需要一个逗号分隔的列名称列表或一个指示所有列的通配符(如星号 *)。

在 Select-Object Name, MemberType 上下文中使用 Select-Object 命令时,只需指定所需的列。 在此例中,列为 Name 和 MemberType。 命令行如下所示:

PowerShell复制

Get-Process -Name 'name-of-process' | Get-Member | Select-Object Name, MemberType

此筛选模式返回的输出包含的列较少。 下面是结果示例:

输出复制

Name                           MemberType
----                           ----------
Handles                     AliasProperty

还可按行筛选响应。 例如,可使用标志 -MemberType Method 来指定你对成员类型为方法的行感兴趣。 你可能只希望显示特定的行,例如,要查找并运行特定方法。

标签:Help,Get,微软,Powershell,Member,命令,cmdlet,PowerShell
From: https://blog.51cto.com/u_3353175/9541886

相关文章

  • Windows Powershell 执行结束 返回状态码
    前言全局说明WindowsPowershell执行结束返回状态码一、1.源码用于将文件复制到文件夹的Powershell脚本$dest="C:est"New-Item$dest-typedirectory-force$source="c:samplefile.txt"Copy-Item$source$destexit$LASTEXITCODE$LASTEXITCODE保存Powershel......
  • PowerShell 基本语法
    前言全局说明PowerShell基本语法一、运算符#加减乘除取余+-*/%#自增、自减运算符,和C#或C++完全一致++$i$i++$i----$i#且-and#并-or#非-not!#样例$true-and$false-or-not0!$true#输出TrueFalse#等于(equalto)-eq#不等于(noteq......
  • PowerShell 接收用户输入参数
    前言全局说明PowerShell接收用户输入参数一、指定选项的参数1.源码param($name,$address="USA",$age)Write-Host"Name:$name"Write-Host"Address:$address"Write-Host"Age:$age"2.执行命令./myscript.ps1-name"Rohan"-age&q......
  • Powershell 命令行快捷键
    前言全局说明powershell快捷键一、快捷键按键说明备注ALT+F7清除命令的历史记录PgUpPgDn显示当前会话的第一个命令和最后一个命令Enter执行当前命令End将光标移至当前命令的末尾Del从右开始删除输入的命令字符Esc清空当前命令行F2......
  • powershell param : 无法将“param”项识别为 cmdlet、函数、脚本文件或可运行程序的
    前言全局说明powershellparam:无法将“param”项识别为cmdlet、函数、脚本文件或可运行程序的名称。一、源码echo"脚本启动"param($age,$address="USA",$name)Write-Host"Name:$name"Write-Output"Address:$address"Write-Output"Age:$age&qu......
  • Powershell 并发任务 | Runspace 线程 | 结果获取
    介绍在PowerShell中进行多任务处理(Multithreading或ParallelProcessing)主要目的是提高脚本的执行效率和性能。对于需要处理大量数据或执行多个独立任务的脚本来说尤其有用。提高性能:多任务处理允许脚本同时执行多个任务,从而加快整体执行速度。对于需要处理大型数据集或执......
  • 解决使用PowerShell执行命令出现“因为在此系统上禁止运行脚本”的问题
    1、......
  • (22)Powershell中的环境变量
    (22)Powershell中的环境变量本节介绍Powershell中环境变量的查看和使用,主要包括以下内容:为什么要设置环境变量。Powershell中环境变量的查看。Powershell中环境变量的更改。总结1.为什么要设置环境变量使用过Java语言的一定知道在安装完JDK之后要配置环......
  • (21)Powershell中的通配符
    (21)Powershell中的通配符1.使用通配符进行文件的模糊查找Powershell中的通配符可以实现模糊查找,也就是说可以对一组项(而不是单个项)进行查找。例如,如果想查找D:\MyPowerShell目录中所有扩展名为.ps1的文件,可以执行以下命令:PSC:\test>Get-ChildItemC:\test\*.ps1......
  • (20)Powershell中的特殊运算符
    (20)Powershell中的特殊运算符Powershell中除了常见的算术运算符,赋值运算符,比较运算符,位运算符,逻辑运算符,字符串的拆分和合并运算符,转义字符,还有一些特殊的运算符,这些特殊的运算符往往可以解决一些特殊的问题,比如执行运行命令,更改值的数据类型等。1.&(调用运算符)使用&(......