如何通过PowerShell为现有CSV添加AD用户SID列?
没问题,我来帮你搞定这个给CSV添加AD用户SID列的需求!下面是一套实用的PowerShell解决方案,一步步来:
完整实现步骤
首先确认你已经在有AD权限的机器上(比如域控制器或者安装了RSAT Active Directory模块的客户端)运行脚本,你已经导入了ActiveDirectory模块,接下来直接用下面的脚本即可:
# 导入ActiveDirectory模块(如果之前没成功导入可以再执行一次) Import-Module ActiveDirectory -ErrorAction Stop # 读取你的原始CSV文件,记得替换成实际路径 $inputCsvPath = "C:\YourFolder\original.csv" $originalData = Import-Csv -Path $inputCsvPath -Delimiter "," # 遍历每一行数据,查询对应AD用户的SID并添加新列 $updatedData = $originalData | ForEach-Object { # 根据UserName(也就是SamAccountName)查询AD用户 $adUser = Get-ADUser -Filter "SamAccountName -eq '$($_.UserName)'" -Properties SID -ErrorAction SilentlyContinue # 处理用户不存在的情况,避免脚本报错中断 $sidValue = if ($adUser) { $adUser.SID.Value } else { "AD用户未找到" } # 给当前行添加SID列 $_ | Add-Member -MemberType NoteProperty -Name "SID" -Value $sidValue $_ } # 导出更新后的CSV,替换成你想要的输出路径 $outputCsvPath = "C:\YourFolder\updated_with_sid.csv" $updatedData | Export-Csv -Path $outputCsvPath -NoTypeInformation -Delimiter ","
关键注意点
- 路径替换:一定要把
$inputCsvPath和$outputCsvPath换成你实际的文件路径 - 权限问题:运行这个脚本的账号需要有读取Active Directory用户信息的权限
- 异常处理:脚本里加了
-ErrorAction SilentlyContinue和用户不存在的判断,就算某个用户在AD里找不到,脚本也会继续运行,不会中断,还会在SID列标注提示
执行完脚本后,你就能得到带SID列的目标CSV文件啦!
内容的提问来源于stack exchange,提问作者frigo
相关产品推荐
相关产品推荐

