[玩转系统] 发现 PowerShell
作者:精品下载站 日期:2024-12-14 03:07:02 浏览:15 分类:玩电脑
发现 PowerShell
PowerShell 是一种命令行 shell 和一种脚本语言的结合体。 PowerShell 最初在 Windows 上运行,旨在帮助自动化管理任务。现在,它可以跨平台运行,可以用于各种任务。
PowerShell 的独特之处在于它接受并返回 .NET 对象,而不是文本。此功能可以更轻松地连接管道中的不同命令。
PowerShell 可以用来做什么?
自从 PowerShell 仅适用于 Windows 以来,其使用量一直在增长。它仍然用于 Windows 任务自动化,但今天,您可以将它用于以下任务:
- 云管理。 PowerShell可用于管理云资源。例如,您可以检索有关云资源的信息,以及更新或部署新资源。
- CI/CD。它还可以用作持续集成/持续部署管道的一部分。
- 自动执行 Active Directory 和 Exchange 的任务。您可以使用它来自动执行 Windows 上的几乎所有任务,例如在 Active Directory 中创建用户和在 Exchange 中创建邮箱。
还有更多的使用领域,但前面的列表提示您 PowerShell 已经取得了长足的进步。
谁使用 PowerShell?
PowerShell 是一个功能强大的工具,可以帮助担任多种角色的人们。传统上,PowerShell 一直由系统管理员角色使用,但现在由自称 DevOps、Cloud Ops 甚至开发人员的人们使用。
PowerShell cmdlet
PowerShell 附带了数百个预安装命令。 PowerShell 命令称为 cmdlet(发音为 command-let)。
每个 cmdlet 的名称均由动词-名词对组成。例如,Get-Process
。此命名约定使您更容易理解 cmdlet 的功能。它还可以让您更轻松地找到所需的命令。查找要使用的 cmdlet 时,您可以按动词或名词进行筛选。
使用 cmdlet 探索 PowerShell
当您第一次使用 PowerShell 时,可能会感到害怕,因为似乎有太多东西需要学习。 PowerShell 旨在帮助您根据需要一次学习一点。
PowerShell 包含可帮助您发现 PowerShell 的 cmdlet。使用这三个 cmdlet,您可以发现哪些命令可用、它们的用途以及它们操作的类型。
Get-Verb
。运行此命令会返回大多数命令所遵循的动词列表。响应包括对这些动词的作用的描述。由于大多数命令都遵循此命名约定,因此它设定了对命令功能的期望。这可以帮助您选择适当的命令以及命令的名称(如果您要创建命令)。获取命令
。此命令检索计算机上安装的所有命令的列表。获取会员
。它基于基于对象的输出进行操作,并且能够发现哪些对象、属性和方法可用于命令。获取帮助
。使用命令名称作为参数调用此命令会显示描述命令各个部分的帮助页面。
使用这些命令,您几乎可以发现有关 PowerShell 的几乎所有内容。
动词
动词是PowerShell中的一个重要概念。这是大多数 cmdlet 遵循的命名标准。这也是您在编写自己的命令时应该遵循的命名标准。这个想法是,动词表示您正在尝试执行的操作,例如读取或更改数据。 PowerShell 有一个标准化的动词列表。要获取所有可能动词的完整列表,请使用 Get-Verb
cmdlet:
Get-Verb
该 cmdlet 返回一长串动词。 描述提供了动词含义的上下文。这是输出的前几行:
Verb AliasPrefix Group Description
---- ----------- ----- -----------
Add a Common Adds a resource to a container, or attaches an item to another item
Clear cl Common Removes all the resources from a container but does not delete the container
Close cs Common Changes the state of a resource to make it inaccessible, unavailable, or unusab…
Copy cp Common Copies a resource to another name or to another container
Enter et Common Specifies an action that allows the user to move into a resource
Exit ex Common Sets the current environment or context to the most recently used context
...
使用 Get-Command 查找命令
Get-Command
cmdlet 返回系统上安装的所有可用命令的列表。您返回的列表相当大。您可以通过使用参数或帮助程序 cmdlet 过滤响应来限制返回的信息量。
按名称过滤
您可以使用不同的参数过滤 Get-Command
的输出。过滤允许您查找具有某些属性的命令。 Name 参数允许您按名称查找特定命令。
Get-Command -Name Get-Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
如果您想查找所有与进程一起使用的命令怎么办?您可以使用通配符 *
来匹配其他形式的字符串。例如:
Get-Command -Name *-Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Start-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Management
名词和动词过滤
还有其他根据动词和名词值进行过滤的参数。命令名称的动词部分是最左边的部分。动词应该是 Get-Verb
cmdlet 返回的值之一。命令的最右边部分是名词部分。名词可以是任何东西。
按动词过滤。在命令
Get-Process
中,动词部分是Get
。要过滤动词部分,请使用 Verb 参数。Get-Command -Verb 'Get'
此示例列出了使用动词
Get
的所有命令。按名词过滤。在命令
Get-Process
中,名词部分是Process
。要过滤名词,请使用名词参数。以下示例返回所有名词以字母U
开头的 cmdlet。Get-Command -Noun U*
此外,您可以组合参数来缩小搜索范围,例如:
Get-Command -Verb Get -Noun U*
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-UICulture 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Get-Unique 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Get-Uptime 7.0.0.0 Microsoft.PowerShell.Utility
使用帮助程序 cmdlet 来过滤结果
您还可以使用其他 cmdlet 来过滤结果。
选择对象
。这一多功能命令可帮助您从一个或多个对象中挑选出特定属性。您还可以限制取回的物品数量。以下示例返回当前会话中可用的前 5 个命令的 Name 和 Source 属性值。Get-Command | Select-Object -First 5 -Property Name, Source
Name Source ---- ------ Add-AppPackage Appx Add-AppPackageVolume Appx Add-AppProvisionedPackage Dism Add-AssertionOperator Pester Add-ProvisionedAppPackage Dism
有关详细信息,请参阅选择对象。
Where-对象
。此 cmdlet 允许您根据属性值过滤返回的对象。该命令采用可以测试属性值的表达式。以下示例返回ProcessName
以p
开头的所有进程。Get-Process | Where-Object {$_.ProcessName -like "p*"}
Get-Process
cmdlet 返回进程对象的集合。要过滤响应,请将输出通过管道传送到Where-Object
。管道表示两个或多个命令通过管道|
字符连接。一个命令的输出将作为下一个命令的输入发送。Where-Object
的过滤器表达式使用-like
运算符来匹配以字母p
开头的进程。
使用 Get-Member 探索对象
一旦您能够找到所需的 cmdlet,您就想了解有关它生成的输出的更多信息。 Get-Member
cmdlet 显示对象的类型、属性和方法。将要检查的输出通过管道传递给 Get-Member
。
Get-Process | Get-Member
结果显示返回的类型为 TypeName
以及该对象的所有属性和方法。以下是该结果的摘录:
TypeName: System.Diagnostics.Process
Name MemberType Definition
---- ---------- ----------
Handles AliasProperty Handles = Handlecount
Name AliasProperty Name = ProcessName
...
使用MemberType参数您可以限制返回的信息。
Get-Process | Get-Member -MemberType Method
默认情况下,PowerShell 仅显示一些属性。前面的示例显示了 Name
、MemberType
和 Definition
成员。您可以使用Select-Object
来指定您想要查看的属性。例如,您只想显示 Name
和 Definition
属性:
Get-Process | Get-Member | Select-Object Name, Definition
按参数类型搜索
Get-Member
向我们展示了 Get-Process
返回 Process 类型对象。 Get-Command
的 ParameterType 参数可用于查找以 Process 对象作为输入的其他命令。
Get-Command -ParameterType Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Enter-PSHostProcess 7.1.0.0 Microsoft.PowerShell.Core
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Get-PSHostProcessInfo 7.1.0.0 Microsoft.PowerShell.Core
Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Managem…
了解命令的输出类型可以帮助缩小相关命令的搜索范围。
其他资源
- Get-Command
- Get-Member
- Select-Object
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag