如何过滤Get-ADComputer输出

时间:2019-01-11 11:56:28

标签: powershell active-directory

我的Get-ADComputer脚本提供了太多信息。我想把它缩短一点。

$Computer = Read-Host -Prompt 'Input computer name'
$ManagedBy = Get-ADComputer $Computer -Properties ManagedBy |
             foreach { $_.ManagedBy }
Write-Output $ManagedBy

当我尝试运行脚本时,它会输出

CN=Last Name First Name ,OU=XX ,OU=XXX ,OU=XXX ,DC=XXX,DC=XXX

我只想在输出中得到CN(名字和Las Name)。

2 个答案:

答案 0 :(得分:2)

您的代码返回计算机管理员的专有名称。您可以使用该DN查询AD用户对象并从中获取所需的属性(例如FullNameDisplayName或各个值FirstNameLastName)。

Get-ADComputer $Computer -Properties ManagedBy |
    Select-Object -Expand ManagedBy |
    Get-ADUser -Property FullName |
    Select-Object -Expand FullName

答案 1 :(得分:0)

首先,您是否查看了对象的属性? 这些属性在创建后会自动分配给变量。

您可以通过以下方式看到它们:

$ ManagedBy |成为会员

您可能会发现$ ManagedBy.Name会完全提供您想要的内容。

进一步的阅读:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-member?view=powershell-6