gpt4 book ai didi

arrays - 如何将powershell命令的输出放入数组

转载 作者:行者123 更新时间:2023-12-02 11:23:44 25 4
gpt4 key购买 nike

我正在尝试将 powershell 命令的输出放入一个数组中,但它似乎不起作用。事实上,我想用一行和一个列索引来处理输出。
例如

$a=Get-Service

带输出(部分)
Status   Name               DisplayName                           
------ ---- -----------
Stopped AeLookupSvc Application Experience
Stopped ALG Application Layer Gateway Service
Stopped AppIDSvc Application Identity
Running Appinfo Application Information
Stopped AppMgmt Application Management

我想为第二行的 DisplayName 寻址,例如
$a[2][2]

然后它应该给
Application Layer Gateway Service

但这似乎不起作用。

有人可以帮忙吗?

最佳答案

这类问题让我觉得您可能来自 Unix 背景,并且习惯于不得不处理索引和列索引之类的事情。

从根本上说,PowerShell 是一种面向对象的脚本语言。你根本不需要做你在这里问的事情。

例如,如果您想捕获结果,然后获取其中一个对象的属性,如下所示。

首先,捕获输出。

$a=Get-Service

现在,您需要特定实体的特定属性。为了得到它,索引到你想要的对象。
>$a[2]
Status Name DisplayName
------ ---- -----------
Stopped AJRouter AllJoyn Router Service

选择 .DisplayName ,您所要做的就是将其附加到上一个命令的末尾。
> $a[2].DisplayName
AllJoyn Router Service

如果要选择多个值,可以改用此方法。
#Select multiple values from one entity
$a[2] | select DisplayName, Status

>DisplayName Status
----------- ------
Application Layer Gateway Service Stopped

#Select multiple values from each in the array
$a | select DisplayName, Status

>DisplayName Status
----------- ------
Adobe Acrobat Update Service Running
AllJoyn Router Service Stopped
Application Layer Gateway Service Stopped
Application Identity Stopped

关于arrays - 如何将powershell命令的输出放入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41591529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com