将Powershell输出从列表视图更改为阵列视图

问题描述 投票:0回答:1

我正在尝试将PowerShell cmdlet的输出从表视图转换成更像数组的东西。我使用了一种列表格式来减少尽可能多的垃圾数据。当前,我使用以下代码获取此输出:

Get-AccountsWithUserRight -Right SeNetworkLogonRight | Format-List -Property SID |Set-Variable -Name "Accounts"
$Accounts

输出:

SID : S-1-5-32-583

SID : S-1-5-32-551

SID : S-1-5-32-545

SID : S-1-5-32-544

我不确定如何使用格式/其他属性来剪切'SID'字符串,只返回诸如“ S-1-5-32-583,S-1-5-32-551,等等”。我需要执行此操作,因为我希望在另一个cmdlet中使用输出,并且多余的数据会导致错误。

powershell format
1个回答
1
投票

仅将Format-* cmdlet用于显示格式;如果必须以编程方式处理数据,切勿使用它们。Format-*cmdlet输出格式化指令,而不是数据-请参见this answer

而且,将输出保存到变量中,将其分配给它比使用Set-Variable更简单:

# Save the account objects in a variable.
$Accounts = Get-AccountsWithUserRight -Right SeNetworkLogonRight

如果您随后要输出/仅使用SID值:

$Accounts.SID
© www.soinside.com 2019 - 2024. All rights reserved.