我正在寻找一种方法来更改以下命令的当前输出,以便更容易阅读。
$list= get-content "c:\userlist.txt"
Foreach ($user in $list)
{
Write-Host $user
Get-ADPrincipalGroupMembership $user |select name |Where-Object {$_.name -like "*admin*"}
write-host " "
}
当前输出如下:
user1
name
----
admin1
admin2
user2
admin3
admin4
我希望它显示如下或类似的东西,没有名称标题和额外的换行符。谢谢!
User1
admin1
admin2
User2
admin3
admin4
答案 0 :(得分:1)
我认为这对你有用:
$list= get-content "c:\userlist.txt"
foreach ($user in $list)
{
Write-Host $user
Write-Host (Get-ADPrincipalGroupMembership $user | Where-Object {$_.name -like "*admin*"} | Select-Object -ExpandProperty name | Out-String)
Write-Host " "
}
我将Write-Host放在那里,使其与输出的其余部分保持一致。您必须使用-ExpandProperty而不是-Property(默认值)来删除列标题。 Out-String使输出按原样进入屏幕,而不是被解释为对象并转换为字符串。