Powershell 使用Format Table和Out字符串设置变量,无需额外的行

Powershell 使用Format Table和Out字符串设置变量,无需额外的行,powershell,Powershell,我目前正试图获取一个变量,使其仅包含get ADUser输出的名称,但当我格式化所有内容时,它仍然会输出空行 $UserName = Read-Host "Username" $DisplayName = Get-Aduser $Username | Select-Object Name | Format-Table -HideTableHeaders | Out-String 我希望输出为 Write-Host "User: $DisplayName" 只是说“Us

我目前正试图获取一个变量,使其仅包含get ADUser输出的名称,但当我格式化所有内容时,它仍然会输出空行

    $UserName = Read-Host "Username"
    $DisplayName = Get-Aduser $Username | Select-Object Name | Format-Table -HideTableHeaders | Out-String
我希望输出为

    Write-Host "User: $DisplayName"
只是说“User:johndoe”,但结果却是

    User:

    John Doe

在John Doe下面留下了两条空行。有什么方法可以得到我想要的结果吗?

你把事情复杂化了一点。您希望
选择该对象的属性,并且只选择该属性,因此最简单、最干净的方法不是试图清理它以显示您想要的内容

$DisplayName = Get-Aduser $Username | Select-Object -ExpandProperty Name
这对于其他cmdlet的效果与基于对象的输出的效果相同。您也可以使用点符号来实现相同的功能

$DisplayName = (Get-Aduser $Username).Name

你把事情复杂化了一点。您希望
选择该对象的属性,并且只选择该属性,因此最简单、最干净的方法不是试图清理它以显示您想要的内容

$DisplayName = Get-Aduser $Username | Select-Object -ExpandProperty Name
这对于其他cmdlet的效果与基于对象的输出的效果相同。您也可以使用点符号来实现相同的功能

$DisplayName = (Get-Aduser $Username).Name

你把事情复杂化了一点。您希望
选择该对象的属性,并且只选择该属性,因此最简单、最干净的方法不是试图清理它以显示您想要的内容

$DisplayName = Get-Aduser $Username | Select-Object -ExpandProperty Name
这对于其他cmdlet的效果与基于对象的输出的效果相同。您也可以使用点符号来实现相同的功能

$DisplayName = (Get-Aduser $Username).Name

你把事情复杂化了一点。您希望
选择该对象的属性,并且只选择该属性,因此最简单、最干净的方法不是试图清理它以显示您想要的内容

$DisplayName = Get-Aduser $Username | Select-Object -ExpandProperty Name
这对于其他cmdlet的效果与基于对象的输出的效果相同。您也可以使用点符号来实现相同的功能

$DisplayName = (Get-Aduser $Username).Name

我不知道为什么我以前从未见过这种语法,但现在我永远不会忘记。我保证我在谷歌上找了很长一段时间都没有找到这个。谢谢。我不知道为什么我以前从未见过这种语法,但现在我永远不会忘记。我保证我在谷歌上找了很长一段时间都没有找到这个。谢谢。我不知道为什么我以前从未见过这种语法,但现在我永远不会忘记。我保证我在谷歌上找了很长一段时间都没有找到这个。谢谢。我不知道为什么我以前从未见过这种语法,但现在我永远不会忘记。我保证我在谷歌上找了很长一段时间都没有找到这个。非常感谢。