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

需求:为CSV中无匹配AD账户的条目补充SamAccountName字段内容

修改后的PowerShell脚本及说明

问题解决思路

原脚本仅输出AD中匹配到的用户,未匹配的条目会被直接丢弃。我们需要在循环内判断AD查询结果,对未匹配的条目手动构造输出对象,填充指定文本。

修改后的脚本

Import-Csv c:\temp\DisplayName.csv | ForEach-Object {
    # 尝试获取AD中匹配的用户,结果存入变量
    $adUser = Get-ADUser -Filter "DisplayName -eq '$($_.DisplayName)'" -Properties Name, SamAccountName, Company -ErrorAction SilentlyContinue
    
    if ($adUser) {
        # 找到匹配用户时,输出AD用户的属性
        $adUser | Select-Object Name, SamAccountName, Company
    } else {
        # 未找到匹配用户时,构造自定义对象填充指定内容
        [PSCustomObject]@{
            Name = $_.DisplayName
            SamAccountName = "To be removed"
            Company = $null  # 若需要可改为"Unknown"等自定义内容
        }
    }
} | Export-CSV -path C:\temp\SamAccountName.csv -NoTypeInformation

关键改动说明

  • 添加-ErrorAction SilentlyContinue:避免未找到用户时抛出冗余错误信息
  • 用变量$adUser存储查询结果,通过if ($adUser)判断是否找到匹配用户
  • 未匹配时,用[PSCustomObject]构造符合输出格式的对象,确保CSV包含所有原始条目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:00:51