2017-09-22 6 views
0

次のコマンドの現在の出力を変更して読みやすくする方法を探しています。次のようにPowershell出力を変更する

$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 

答えて

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 " " 
} 

私はあなたの出力の残りの部分と、それは一貫性を保つためにそこに書き込み、ホストを置きます。カラムヘッダーを取り除くには、-Property(デフォルト)ではなく-ExpandPropertyを使用する必要があります。 Out-Stringは、オブジェクトとして解釈されずに文字列に変換されるのではなく、出力をそのまま画面に表示します。

+0

ありがとうございました!それは動作します。 – kahoots