我试图将PowerShell的小工具的输出从表视图转换为更像数组的东西。我使用列表格式来尽可能多地删除垃圾数据。目前,我使用以下代码来获取此输出:
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,etc”。我需要这样做,因为我希望在另一个小程序中使用输出,额外的数据会导致错误。
2条答案
按热度按时间z0qdvdin1#
Format-*
xmlets只用于 * 显示格式 *;如果数据必须 * 以编程方式处理 *,则永远不要使用它们。Format-*
xmlets输出 * 格式指令 *,而不是 * 数据 * -请参阅this answer。此外,要将输出保存到变量中,赋值比使用
Set-Variable
更简单:字符串
如果你想只输出/使用SID值,利用member-access enumeration:
型
qybjjes12#
我知道这是一个旧的线程和原来的海报已经移动,但其他人可能会看到这个,所以这里有一个版本,我认为回答了原来的问题所有的方式。我的理解是,他希望一个变量有一个数组中的所有SID。
字符串
任何一个都应该给予你想要的。Accounts变量现在应该只有SID而没有任何其他属性。我通常使用第二个例子,但我见过很多使用第一个的情况。