Active Directory Powershell附加到现有属性值

时间:2014-05-19 18:18:37

标签: powershell active-directory

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

到目前为止,我已经:(因为敏感性而省略了我的过滤器)

Get-ADUser -Filter (<filter>) -Properties Name,DisplayName,EmployeeID,SAMAccountName | ? {$_.Samaccountname.length -eq 5} | Set-ADUser <???>

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

这将完成它,我对其进行了测试并使其完美运行:只需将信息替换为所需的属性即可:

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"} 

来源:https://gallery.technet.microsoft.com/scriptcenter/Powershell-Append-Info-5f613638