Active Directory Powershell附加到现有属性值

Active Directory Powershell附加到现有属性值,powershell,active-directory,Powershell,Active Directory,我正在寻找一种使用Set ADuser将值附加到现有属性末尾的方法 到目前为止,我有:(省略我的过滤器,因为敏感的性质) Get ADUser-Filter()-Properties Name、DisplayName、EmployeeID、SAMAccountName |?{$\.Samaccountname.length-eq 5}| Set ADUser 我一直在寻找一种只附加到employeeID属性而不覆盖当前值的方法。如果有其他方法可以实现这一点,我很想知道如何实现。因此,使用Set

我正在寻找一种使用Set ADuser将值附加到现有属性末尾的方法

到目前为止,我有:(省略我的过滤器,因为敏感的性质)

Get ADUser-Filter()-Properties Name、DisplayName、EmployeeID、SAMAccountName |?{$\.Samaccountname.length-eq 5}| Set ADUser

我一直在寻找一种只附加到employeeID属性而不覆盖当前值的方法。如果有其他方法可以实现这一点,我很想知道如何实现。

因此,使用Set ADUser,您可以使用-replace作为哈希表。因此,通过循环运行结果,在每个循环上为其EmployeeID设置一个哈希表,使其=现有的一个加上任何新文本,并设置帐户以替换哈希表中的数据。大概是这样的:

Get-ADUser -Filter (<Filter>) |?{$_.SAMAccountName.Length -eq 5} | %{$HT = @{};$HT.add("EmployeeID", "$($_.EmployeeID)AdditionalText");Set-ADUser $_.SAMAccountName -Replace $HT}
Get ADUser-Filter()|?{$$.SAMAccountName.Length-eq 5}}{$HT=@{};$HT.add(“EmployeeID”,“$($.EmployeeID)AdditionalText”);Set ADUser$$.SAMAccountName-替换$HT}

这将完成它,我对它进行了测试,效果非常好:。只需将信息替换为所需的属性或属性:

Import-Module ActiveDirectory 
$j=Read-Host "Enter the samaccountname" 
$i = Get-ADUser $j -Properties info | %{ $_.info}  
Set-ADUser $j -Replace @{info="$($i) `r`n Account Disabled for O365 Cleanup"} 

源代码:

代码不错,但当我尝试使用单个用户运行时,它只是将employeeID替换为应该添加到末尾的文本。如果您检查$HT的值,它是否只显示附加文本而不是原始employeeID+附加文本?
Import-Module ActiveDirectory 
$j=Read-Host "Enter the samaccountname" 
$i = Get-ADUser $j -Properties info | %{ $_.info}  
Set-ADUser $j -Replace @{info="$($i) `r`n Account Disabled for O365 Cleanup"}