#powershell
#powershell
Вопрос:
Как мне получить свойство Description в наборе по умолчанию Get-ADComputer? Мне нужно сделать это постоянным для всех сеансов (было бы здорово записать его в $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 :
Я использую Powershell 4.0 в Windows 8.1.
Ответ №1:
Один из вариантов — использовать $PSDefaultParameterValues
Добавьте это в свой профиль:
$PSDefaultParameterValues['Get-ADComputer:Properties'] = 'Description'
Обратите внимание, что это фактически не изменяет значения по умолчанию, это просто приведет к тому, что «Description» будет значением по умолчанию параметра -Properties .
Если вы переопределите это, указав -Properties и не включите Description , его там не будет.
Ответ №2:
Согласно документации, доступной здесь, описание является частью расширенных свойств. Чтобы процитировать соответствующий абзац:
Многие командлеты Get-AD * Active Directory также поддерживают расширенные свойства. Они извлекаются только в том случае, если они указаны в параметре -Properties командлета. Многим расширенным свойствам также можно присвоить значения с помощью соответствующего командлета Set-AD*. Опять же, имена этих свойств могут совпадать или не совпадать с LDAPDisplayName соответствующего атрибута Active Directory.
Итак, я думаю, что единственный способ получить то, что вы хотите, — это определить свой собственный псевдоним.