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

从AD对象提取Base64字符串的PowerShell脚本开发需求

完善后的PowerShell脚本实现

以下是满足所有需求的完整脚本,基于你的单用户版本扩展优化:

# 导入ActiveDirectory模块
Import-Module ActiveDirectory

# 获取用户输入的目标OU的LDAP路径(示例格式:OU=Users,DC=contoso,DC=com)
$TargetOU = Read-Host "请输入目标OU的LDAP路径"

# 查询指定OU下所有用户,批量处理并输出结果
Get-ADUser -Filter * -SearchBase $TargetOU -Properties Name, SamAccountName, ObjectGUID |
    Select-Object Name, SamAccountName, ObjectGUID,
        @{Name='ImmutableID'; Expression={[Convert]::ToBase64String(([GUID]$_.ObjectGUID).ToByteArray())}} |
    Sort-Object Name |
    Format-Table -AutoSize

关键优化点说明

  • 精准OU查询:通过-SearchBase参数指定目标OU的LDAP路径,确保只查询指定组织单元下的用户。
  • 高效属性获取:避免使用Properties *拉取所有AD属性,仅明确指定需要的Name、SamAccountName、ObjectGUID,大幅提升脚本运行效率。
  • 批量生成ImmutableID:借助Select-Object的计算属性功能,对每个用户的ObjectGUID自动完成Base64转换,无需单独遍历处理。
  • 排序与格式化输出:用Sort-Object Name按姓名首字母排序,最后通过Format-Table -AutoSize生成自适应宽度的清晰表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:45:31