Eu não uso os cmdlets do QWEST AD, por isso não sei a sintaxe exata, mas geralmente a melhor maneira é recuperar a descrição atual, salvá-la em uma variável e escrever apenas $ Current_Desc + $ addendum de volta ao objeto.
Como posso acrescentar ou preceder a descrição no AD Quero deixar a descrição atual e colocar um texto na frente dele
por exemplo, um computador tem a descrição como "Contabilidade Dept" (sem aspas)
Eu tentei isso:
set-QADComputer -Identity computername
-Description {Disabled 8/17/2012, Termrpt "$($_.description)"}
Eu entendo isso para a descrição
Disabled 8/17/2012, "$($_.description)"
mas quero que a descrição original precedida do texto seja semelhante à seguinte
Disabled 8/17/2012, Accounting dept
alguma ideia?
Em vez disso, tentei usar parênteses, mas depois coloquei o texto pré-formatado e apaguei o original.
Eu não uso os cmdlets do QWEST AD, por isso não sei a sintaxe exata, mas geralmente a melhor maneira é recuperar a descrição atual, salvá-la em uma variável e escrever apenas $ Current_Desc + $ addendum de volta ao objeto.
Eu não uso os módulos da Qwest. Se você estiver disposto a usar o módulo Microsoft AD, incluído no RSAT, o seguinte é bastante simples.
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
Acho que o que está lhe atrapalhando é o uso de $_
como parâmetro de um cmdlet, em vez de um bloco de script. Eu agrupei Set-ADUser
em ForEach_Object
, garantindo que $_
seja o objeto do pipeline. Fora de um bloco de script, como no seu caso, usar $_
como um parâmetro retornará $null
.
Além da resposta do MDMarra (me vencer), você também pode definir uma variável de string como igual a um valor acrescentado com +=
, então algo como $Description += "blah"
acrescentaria "blah" ao final de seu valor variável.
( $Description += "blah"
sendo ponteiro curto para $Description = $Description + "blah"
)