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

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

作者:精品下载站 日期:2024-12-14 04:57:21 浏览:17 分类:玩电脑

PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明


[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

PowerShell 中的 cmdlet 简介

Cmdlet 是 PowerShell 中的专用命令,可实现各种功能来执行特定任务。这些函数是本机函数并执行各种任务。 cmdlet 是在 Windows PowerShell 环境中使用的轻量级命令。在编写任何自动化脚本时,这些命令很有用。我将告诉你一些例子,假设你有一些文件想要计算文件大小,你可以使用PowerShell cmdlet。您想要读取该文件及其行为,可以使用 cmdlet。

PowerShell 中 cmdlet 的说明

cmdlet 有很多,我们将在现实世界中讨论它们的用途和示例。要编写 cmdlet,我们必须并且应该使用从两个专用 cmdlet 基类之一派生的 cmdlet 类。它们必须采用以下格式。

  • 需要属性声明,并且它应该将派生类标识为 cmdlet。
  • 定义用将公共属性标识为 cmdlet 参数的特性修饰的公共属性。
  • 我们需要重写至少一种或多种输入处理方法。

在讨论之前我们应该了解它的一般语法,

语法:

Object/file/string /numer/etc Cmdlets-name1 | Cmdlets-name1 | Cmdlets-name1

Cmdlets-name1、Cmdlets-name2、Cmdlets-name3 是我们可以根据需要使用的不同 cmdlet。

PowerShell 中的不同 cmdlet

让我们讨论 cmdlet,

1. 变得独特

假设我们有一个包含各种用户的数组,并且我们想要列表中的唯一用户,那么我们将使用 Get-unique。下面给出了它的示例以及屏幕。

$user=”Ranjan”,”Ajay”,”Vikash”,”Akash”,”Vijay”,”Ranjan”,”Ajay”,”Akash”
$user

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

在这里,同一用户被重复两次。

$user=”Ranjan”,”Ajay”,”Vikash”,”Akash”,”Vijay”,”Ranjan”,”Ajay”,”Akash”
$user |  get-unique

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

所以从上面的例子中,我们可以看到一个小命令可以改变整个输出。

2. 排序

排序是任何编程语言最重要的期望之一,很多时候我们可以有数十万条记录,我们希望以特定的顺序查看数据,假设我们有一些用户,但我们希望按字母顺序排列用户,那么我们将使用排序,我们可以使用 get-unique 来获得唯一的结果。

$user =”Ranjan”,”Ajay”,”Vikash”,”Akash”,”Vijay”,”Ranjan”,”Ajay”,”Akash”
$user | sort | get-unique

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

3. 测量对象

假设我们有一个文件,我们想知道文件中的行数、单词数和字符数,那么我们将使用 Measure-Object cmdlet,Measure-Object cmdlet 可用于获取传递的输出的属性,例如 min、 max、size、count、line 等。在这些示例中,我们看到了 Measure-Object cmdlet 的实际应用。

在桌面上创建一个文件 sss.txt 并写入两行第一行“你好朋友”和第二行“你好朋友你好吗”并执行以下命令:

get-content /home/ranjan/Desktop/sss.txt | measure-object

请记住,您必须使用 sss.txt 创建一个文件才能运行此命令,否则会引发错误。

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

4. 比较对象

如果您有两个文件,并且两个文件都包含几行,借助 Compare-Object 命令,我们可以检查两个文件中的相似行或匹配行,因此简单来说,Compare-Object cmdlet 可用于比较两个对象。在下面的示例中,我们将看到 Compare-Object cmdlet 的实际应用。

在这个例子中,首先,我们在 /home/ranjan/Desktop 中有一个文件 sss.txt ,其内容为第一行“你好朋友”,第二行“你好朋友你好吗”和第三行“你好朋友”。我们创建了另一个名为 sss1.txt /home/ranjan/Desktop 的文件,内容为“你好朋友”。我们将比较行并显示匹配项。

Compare-Object -ReferenceObject $(Get-Content /home/ranjan/Desktop/sss.txt) -DifferenceObject $(Get-Content /home/ranjan/Desktop/sss1.txt)

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

5. 对象排序

该 cmdlet 用于按对象的属性对对象进行排序。在这些示例中,我们看到 Sort-Object cmdlet 的使用示例。

$name=”Ranjan”,”Ajay”,”Vijay”,”Sujit”,”Ajeet”
$name | Sort-Object

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

6. 读取主机

cmdlet 这个命令允许我们从输入字符串中读取值。在这些示例中,我们看到 Read-Host cmdlet 正在运行。

$city = Read-Host "Select your city please"
$city

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

在这里我们可以看到它要求输入您的城市名称,您的输入值成为您的城市名称变量 $city 值成为“Dhanbad”。

7. 开始-睡眠

假设您想暂停会话几秒钟,那么我们可以使用“Start-Sleep”

代码:

Start-Sleep 15

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

您的会话将停止 15 秒。在这些示例中,我们看到 Start-Sleep cmdlet 正在运行。

8.调用历史记录

在工作时假设您想查看历史活动,忘记了最后一个命令,那么我们可以使用 Invoke-History 命令。下面给出一个例子,

Invoke-History

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

9. 写警告

我们可以自定义警告消息,下面是一些示例,

Write-Warning "process taking more time"

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

10.ForEach-对象

这是一个非常常用的命令,假设你有一些学生的分数数组,我们想在每个学生的分数中添加 10 分。为此,我们有一个名为 ForEach-Object 的 cmdlet,下面随屏幕给出了一个示例。

$marks =1000,1002,1004,1005
$marks | ForEach-Object -Process {$_+10}

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

11. 获取历史记录

这与 Invoke-History 不同,在这种情况下,我们将看到所有活动或所有活动的列表,下面给出了它的示例以及屏幕。

在这些示例中,我们看到 Get-History cmdlet 正在运行。

Get-history

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

get-culture cmdlet 用于获取 Windows 中当前的区域性设置。在这些示例中,我们看到 Get-Culture cmdlet 的实际应用。

get-culture

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

12. 调用表达式

我们可以将表达式分配给变量,并可以使用其表达式值调用该变量,在下面的示例中,我们将“Get-Process”命令分配给变量 $cmd,然后使用 Invoke-Expression $cmd 调用它。

$cmd = ‘Get-Process'
$cmd
Invoke-Expression $cmd

输出:

[玩转系统] PowerShell 中的 cmdlet | PowerShell 中最常用的 12 个 cmdlet 及其说明

结论

总而言之,我们已经看到了 PowerShell 的各种命令,这些命令在编写自动化脚本时非常有用,借助这些命令,我们可以操纵和处理任何时间的数据和情况。

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

取消回复欢迎 发表评论:

关灯