我是Powershell的新手,我不知道如何格式化此foreach循环oneliner的输出。

foreach ($user in cat C:\list.txt) {Get-ADUser $user | select -Property
GivenName,Surname,SamAccountName}

GivenName Surname    SamAccountName
--------- -------    --------------
Bob       Smith      SmithB
Fred      Williams   WilliamsF
Ann       Jones      JonesA
Joan      Scott      ScottJ
Eve       Wood       WoodE
George    Peters     PetersG
Alice     Watt       Watt

C:\ list.txt包含SamAccountName的列表,每行一个。

我正在寻找的是使输出看起来像这样:
Bob Smith SmithB; Fred Williams WilliamsF; Ann Jones JonesA; Joan Scott ScottJ; Eve Wood WoodE; George Peters PetersG; Alice Watt Watt

我还想避免在此过程中创建任何新文件。

最佳答案

一个简单的解决方案是:

$result = '';
foreach ($user in cat C:\list.txt) {
  $adUser = Get-ADUser $user | select -Property GivenName,Surname,SamAccountName
  $result += [string]::Format("{0} {1} {2}; ", $adUser.GivenName, $adUser.Surname, $adUser.SamAccountName)
}
$result

关于powershell - 格式化foreach命令的输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54441755/

10-11 07:47