[玩转系统] PowerShell 批准的动词入门指南
作者:精品下载站 日期:2024-12-14 13:14:22 浏览:13 分类:玩电脑
PowerShell 批准的动词入门指南
当涉及到 PowerShell 脚本时,一致的命名约定使构建强大的解决方案的任务变得更加容易。好消息是,您在编写脚本和命令时可以使用 PowerShell 认可的动词。
在本教程中,您将通过一系列示例了解在 PowerShell 中使用哪些已批准的动词。
立即开始并升级您的 PowerShell 脚本!
先决条件
本教程包括动手演示。如果您想继续操作,请确保您的系统运行 PowerShell 5.1 或更高版本。本教程使用 Windows 11 和 PowerShell 7。
检索 PowerShell 批准的动词列表
在 PowerShell 中,cmdlet 是小型的单功能命令,用于在 PowerShell 环境中执行特定操作。
PowerShell 中的每个 cmdlet 都有一个唯一的名称,该名称遵循动词-名词对格式,其中:
- 名称的动词部分描述 cmdlet 执行的操作。 PowerShell 中使用的一些常见动词如下:
Get
检索信息。
Set
更改或更新设置。
New
创造新的东西。
Remove
删除或移除某些东西。
- 名称的名词部分标识执行操作的实体或对象,即采取操作的目标。该名词通常描述 cmdlet 与之交互的对象的类别或类型,例如命令、进程、服务或文件。
要查看可用于脚本的所有已批准动词:
执行以下 Get-Verb
cmdlet 以获取 PowerShell 批准的动词的完整列表。
Get-Verb
下面的输出仅显示了可用于脚本的几个动词。
现在,运行与下面相同的命令,但这一次,您将通过通配符搜索列出所有以 re
开头的已批准动词。这样做可以将动词列表缩小到与重置、调整大小、重做等相关的动词。
Get-Verb re*
如下所示,当您心中有一个特定的操作并希望找到与该操作密切匹配的动词时,缩小动词列表的范围会很有帮助。
通过 New
动词创建新资源
您刚刚在 PowerShell 中检索了批准的动词列表,但是如何在脚本中或运行命令时使用这些动词?您将在代表您希望创建的资源类型(即用户、文件、服务)的名词前添加 New
动词。
但在本例中,您将创建一个新资源,特别是一个新用户,如下所示:
执行以下 New-LocalUser
命令创建一个名为 John Smith
的新用户,并使用密码 (Password123
) 并将该帐户设置为永不过期 ( -AccountNeverExpires
)。
New-LocalUser -Name "John Smith" -AccountNeverExpires -Password (ConvertTo-SecureString -AsPlainText "Password123" -Force
通过 Get
动词检索资源信息
除了创建新资源之外,PowerShell 还具有一个动词,可让您检索有关任何现有资源的信息。在 PowerShell 中,Get
动词通常用于检索或获取有关特定资源的信息,例如操作系统、服务、文件和其他对象。
要通过 Get
动词检索资源信息:
运行下面的 Get-LocalUser
命令来获取有关特定本地用户 (John Smith
) 的信息。
Get-LocalUser -Name "John Smith"
下面的输出显示用户帐户 John Smith 已启用(活动)。
通过 Set
动词修改现有资源
想象一下,您在看到某个资源的信息后发现有些问题。如何修改现有资源?不用担心! PowerShell 批准的动词 Set
动词允许您对现有资源进行更改。
Set
动词允许您通过修改资源的属性或配置来进行调整,而不是重新创建资源。
要通过 Set
动词修改现有资源:
执行以下命令将 $myVariable
的值设置为 Hello
并将 $myVariable
的值修改为 Hello, World!
。这些命令不提供输出,但您将在以下步骤中验证更改。
# Define a variable resource
$myVariable = "Hello"
# Modify the value of an existing variable resource
Set-Variable -Name myVariable -Value "Hello, World!"
现在,运行下面的 Get-Variable
命令来检索有关您的资源 ($myVariable
) 的信息。
Get-Variable -Name myVariable
如下所示,输出显示变量的名称和值。
通过 Invoke
动词触发操作或调用命令
为什么不在 PowerShell 脚本中自动运行命令,而不是像在前面的示例中那样手动运行命令?如何? Invoke
动词允许您以编程方式启动操作或调用命令。
使用 PowerShell 脚本和 Invoke
动词,您可以一次运行多个 PowerShell 命令,而无需在控制台中全部输入。
要了解如何通过 Invoke
动词触发操作:
1. 执行以下 Invoke-Expression
命令来调用 Get-Date
命令,该命令可让您检索当前日期和时间。
Invoke-Expression -Command "Get-Date"
下面的输出显示通过 Invoke
动词成功执行了 Get-Date
命令。
2. 接下来,使用您首选的代码编辑器创建一个 PowerShell 脚本文件(即 InvokeVerbDemo.ps1),并填充以下代码。
此代码显示 (Write-Host
) 欢迎消息并调用 Get-Service
cmdlet 以列出系统中的所有服务。
# Display a warm welcome message
Write-Host "Welcome to the Invoke Example!"
# Invoke the Get-Service cmdlet
Invoke-Command -ScriptBlock { Get-Service }
3. 现在,运行以下命令来调用 (Invoke-Expression
) PowerShell 脚本 (InvokeVerbDemo.ps1
)。将 $scriptPath
变量的值替换为脚本文件的路径。
$scriptPath = "C:\PowerShellScripts\InvokeVerbDemo.ps1"
Invoke-Expression -Command $scriptPath
下面的输出显示了欢迎消息和系统中所有服务的列表,这确认了脚本的成功执行。
4. 编写一个可以随时调用的可重用函数(即 Invoke-MyTask
),而不仅仅是命令,如下所示。从本质上讲,函数增强了 PowerShell 脚本的可维护性和可重用性。
在此示例中,Invoke-MyTask
函数封装了在调用时执行以下操作的命令:
- 在控制台上显示 (
Write-Host
) 字符串Executing MyTask...
。 - 检索所有进程的列表 (
Get-Process
) 并仅选择 (Select-Object
)Name
和CPU
> 每个进程的属性。
# Define a custom function using the Invoke verb
function Invoke-MyTask {
# Your custom task goes here
Write-Host "Executing MyTask..."
Get-Process | Select-Object Name, CPU
}
5. 最后,执行以下命令来调用您的函数 (Invoke-MyTask
)。
Invoke-Expression -Command Invoke-MyTask
您将看到系统上运行的所有进程及其名称和 CPU 使用情况的列表,如下所示。
通过 Test
动词验证资源
在制作健壮且防错的 PowerShell 脚本时,确保输入值和条件的准确性至关重要。用于此目的的一个强大工具是 Test
动词。
通过使用 Test
动词,您可以快速验证给定条件是否具有 true 或 false 值,从而使您能够根据结果执行不同的操作。在此示例中,您将通过 Test
动词验证文件是否存在。
执行以下代码来测试 (Test-Path
) 指定 $filePath
处是否存在文件 (C:\MyFolder\example.txt
) >,并根据结果打印一条消息。
# Define a file path.
$filePath = "C:\MyFolder\example.txt"
# Test if the file exists, and print a message depending on the result
if (Test-Path $filePath) {
Write-Host "The file exists at $filePath."
}
else {
Write-Host "The file does not exist at $filePath."
}
结论
您现在对 PowerShell 认可的动词以及如何在脚本和命令中有效使用它们有了基本的了解。通过利用这些动词,您现在可以为各种任务和场景创建强大、高效且一致的 PowerShell 解决方案。
本教程只是您成为熟练 PowerShell 用户的旅程的开始。为什么不学习其他认可的动词,例如数据操作动词(即 Export
、Import
、Sort
)和生命周期动词(即 >开始
,停止
)?立即将您的 PowerShell 技能提升到新的水平!
猜你还喜欢
- 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