如何在Get-ADComputer的默认设置中获取Description属性?

时间:2014-06-30 11:20:26

标签: powershell

如何在Get-ADComputer的默认设置中获取Description属性? 我需要在会话中保持这种持久性(通过将其写入$ profile会很棒)。

我得到了什么:

# get-adcomputer PC

DistinguishedName : CN=PC,OU=Computers,DC=myDC,DC=local
DNSHostName       : PC.local
Enabled           : True
Name              : PC
ObjectClass       : computer
ObjectGUID        : xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
SamAccountName    : PC$
SID               : S-x-x-xx-xxxxxx-xxxxxxx-xxxxxxx-xxxxx
UserPrincipalName :


# get-adcomputer PC -Property Description

Description       : Some box out there, lost in the corporate shenanigans
DistinguishedName : CN=PC,OU=Computers,DC=myDC,DC=local
DNSHostName       : PC.local
Enabled           : True
Name              : PC
ObjectClass       : computer
ObjectGUID        : xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
SamAccountName    : PC$
SID               : S-x-x-xx-xxxxxx-xxxxxxx-xxxxxxx-xxxxx
UserPrincipalName :

我想要的是什么:

# get-adcomputer PC

Description       : Some box out there, lost in the corporate shenanigans
DistinguishedName : CN=PC,OU=Computers,DC=myDC,DC=local
DNSHostName       : PC.local
Enabled           : True
Name              : PC
ObjectClass       : computer
ObjectGUID        : xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
SamAccountName    : PC$
SID               : S-x-x-xx-xxxxxx-xxxxxxx-xxxxxxx-xxxxx
UserPrincipalName :

我在Windows 8.1上使用Powershell 4.0。

2 个答案:

答案 0 :(得分:1)

一种选择是使用$ PSDefaultParameterValues

将此添加到您的个人资料中:

$PSDefaultParameterValues['Get-ADComputer:Properties'] = 'Description'

请注意,这实际上并不会更改默认值,只会使“描述”成为-Properties参数的默认值。

如果通过指定-Properties而不包含Description来覆盖它,那么它将不在那里。

答案 1 :(得分:0)

根据documentation available here,描述是扩展属性的一部分。引用相关段落:

  

许多Active Directory Get-AD * cmdlet也支持扩展   属性。只有在中指定了它们时才会检索它们   -cmtlet的属性参数。还可以使用相应的Set-AD * cmdlet为许多扩展属性分配值。再次,   这些属性的名称可能与LDAPDisplayName匹配,也可能不匹配   相应的Active Directory属性。

因此,我认为获得所需内容的唯一方法是定义自己的别名。