Назад | Перейти на главную страницу

Powershell Добавить текст к описанию объекта в Active Directory

Как я могу добавить или добавить описание в AD Я хочу оставить текущее описание и поместить перед ним какой-нибудь текст

например, компьютер имеет описание "Бухгалтерия" (без кавычек)

Я пробовал это:

set-QADComputer -Identity computername
    -Description {Disabled 8/17/2012, Termrpt "$($_.description)"}

Я получил это за описание

Отключено 17.08.2012, "$ ($ _. Description)"

но я хочу, чтобы первоначальное описание было добавлено текстом, как показано ниже

Отключено 17.08.2012, Бухгалтерия

Любые идеи?

Вместо этого я попробовал использовать круглые скобки, но тогда он просто помещает добавленный текст и полностью стирает оригинал.

Модули Qwest не использую. Если вы хотите использовать модуль Microsoft AD, включенный в RSAT, следующее будет довольно просто.

Import-Module ActiveDirectory

# Let's check the Description
Get-ADUser jscott -Properties Description |
  Select-Object -Property Description

Description
-----------
Junior Keyboard MRO Tech

# Cool, set it the new value
Get-ADUser jscott -Properties Description |
  ForEach-Object {
    Set-ADUser $_ -Description "Disabled 8/17/2012, Termrpt $($_.Description)"
  }

# Let's check the new Description
Get-ADUser jscott -Properties Description |
  Select-Object -Property Description

Description
-----------
Disabled 8/17/2012, Termrpt Disabled Junior Keyboard MRO Tech

Я думаю, что вас сбивает с толку, так это использование $_ в качестве параметра командлета, а не в блоке скрипта. Я завернул Set-ADUser в ForEach_Object, обеспечивая $_ это объект из конвейера. Вне блока скрипта, как в вашем случае, используя $_ как параметр вернет $null.

Я не использую командлеты QWEST AD, поэтому я не знаю точного синтаксиса, но обычно лучший способ - получить текущее описание, сохранить его в переменной, а затем просто записать добавление $ Current_Desc + $ обратно в объект.

В дополнение к ответу MDMarra (опередите меня) вы также можете установить строковую переменную равной добавленному значению с помощью +=, так что-то вроде $Description += "blah" добавит «бла» в конец значения переменной.

($Description += "blah" не хватать $Description = $Description + "blah")