You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中为AD用户的extensionAttribute10增删指定值?

处理Active Directory用户extensionAttribute10属性的添加与删除操作

需求说明

针对已在extensionAttribute10属性中存有值的Active Directory用户,完成两项操作:添加指定字符串条目、删除特定条目。

测试参数

测试参数:
$ThisUser = "Testaccount01"
@{extensionAttribute10=Computer01, Computer02}
$adding = "Computer03"
$delete = "Computer01"

实现方案

以下是PowerShell脚本实现,包含完整的属性读取、修改、回写流程:

# 定义测试参数
$ThisUser = "Testaccount01"
$adding = "Computer03"
$delete = "Computer01"

# 获取目标AD用户对象,同时加载extensionAttribute10属性
$user = Get-ADUser -Identity $ThisUser -Properties extensionAttribute10

# 将现有属性值转换为可操作的数组(兼容空值或单值场景)
$currentValues = if ($user.extensionAttribute10) {
    # 分割逗号分隔的字符串并去除每个条目的空格
    $user.extensionAttribute10 -split ',' | ForEach-Object { $_.Trim() }
} else {
    @()
}

# 执行删除操作:过滤掉要删除的条目
$currentValues = $currentValues | Where-Object { $_ -ne $delete }

# 执行添加操作:先检查条目是否已存在,避免重复添加
if ($currentValues -notcontains $adding) {
    $currentValues += $adding
}

# 将处理后的数组重新拼接为逗号分隔的字符串,更新用户属性
$updatedValue = $currentValues -join ', '
Set-ADUser -Identity $user -Replace @{ extensionAttribute10 = $updatedValue }

关键要点

  • 处理属性值时先分割并去除空格,避免因格式问题导致匹配失败
  • 添加前做存在性检查,防止同一条目重复写入
  • 最终拼接回AD常用的逗号分隔字符串格式,保证属性存储的一致性

内容的提问来源于stack exchange,提问作者lorsumalpha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 22:01:04