“” 引号之间的 Get-ItemProperty 输出

Get-ItemProperty output between "" quotes

提问人:szaboors 提问时间:6/14/2023 更新时间:6/14/2023 访问量:39

问:

有没有办法让“Get-ItemPropertyValue”输出用分号分隔每个元素和整个输出?

例如:

Get-ItemPropertyValue -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters' -Name NullSessionPipes

现在输出为:

Netlogon SAMR LSARPC

所需的输出为:

“网络登录,SAMR,LSARPC”

我尝试了反勾逃生角色,但不幸的是没有运气。

非常感谢您的帮助!

PowerShell 格式 输出 引号

评论

1赞 Mathias R. Jessen 6/14/2023
'"{0}"' -f ((Get-ItemPropertyValue -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters' -Name NullSessionPipes) -join ',')
0赞 szaboors 6/14/2023
谢谢,这对我来说看起来不错。现在输出是“,netlogon,samr,lsarpc”。有没有办法删除第一个逗号?
0赞 Mathias R. Jessen 6/14/2023
这将表明来自的第一个值是一个空字符串。你可以用它过滤掉它Get-ItemPropertyValue(Get-ItemPropertyValue ... |Where-Object {$_})
0赞 szaboors 6/14/2023
哦,我明白了。谢谢先生!

答:

1赞 Mathias R. Jessen 6/14/2023 #1

首先,在所需的字符串值上使用运算符来创建一个字符串,如下所示:-joinnetlogon,samr,lsarpc

$values = Get-ItemPropertyValue -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters' -Name NullSessionPipes |Where-Object { $_ <# this will remove empty values #> }
$string = $values -join ','

现在我们只需要将它嵌入到一个被文字 's 包围的字符串中,我的首选是使用运算符:"-f

'"{0}"' -f $string