【问题标题】:Keeping output on the same line保持输出在同一行
【发布时间】:2019-03-27 00:22:42
【问题描述】:

我想将此命令的输出保留在同一行:

((Get-ADUser -filter {employeetype -eq "Employee"}).SamAccountName) | Sort-Object | Get-ADUser | ForEach-Object {$_.Name,$_.Department,$_mail}

目前输出显示如下:

James Roberts
Accounting
jroberts@email.tld

但是,我需要让它显示为:

James Roberts Accounting jroberts@email.tld

我也尝试过使用(基于我找到的建议):

((Get-ADUser -filter {employeetype -eq "Employee"}).SamAccountName) | Sort-Object | Get-ADUser | ForEach-Object {$_.Name;$_.Department;$_mail}

但是,我得到相同的三行输出,而不是一行。

【问题讨论】:

  • 你应该使用 Foreach-Object 而不是 Select-Object -Property
  • 要将这些项目放在同一行,您可以使用-join 与您想要的任何分隔符。 [grin] 看看Get-Help about_Join 的一些有用的例子。

标签: powershell


【解决方案1】:

如果您想创建自定义对象:

… | Select-Object -Property Name,Department,Mail

如果你想制作字符串:

… | ForEach-Object { $_.Name,$_.Department,$_.Mail -join " " }

如果你只是想很好地显示表格(以后不打算使用这个输出):

… | Format-Table -Property Name,Department,Mail -AutoSize

【讨论】:

    猜你喜欢
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    相关资源
    最近更新 更多