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

基于CSV/Excel通过Bash脚本生成指定LDIF文件需求

批量生成LDIF移除脚本指南

输入表格准备

请填写Excel或CSV表格,表格需包含以下两列:

  • uiddn列(Excel中对应A1单元格):填写用户的完整区分名(DN)
  • nIds列(Excel中对应B1单元格):填写需要移除的nIds属性值

示例表格数据

uiddnnIds
uid=uid12345,cn=abc,cn=def,dc=xyx7_54321
uid=uid6789,cn=abc,cn=def,dc=xyx5_9876

Bash脚本实现

将填写好的表格另存为CSV格式(建议命名为input.csv),使用以下脚本读取数据并生成目标LDIF文件:

#!/bin/bash

# 配置文件路径
INPUT_FILE="input.csv"
OUTPUT_REMOVE_NID="removenid.ldif"
OUTPUT_GROUP_REMOVE="groupremoval.ldif"

# 初始化输出文件
> "$OUTPUT_REMOVE_NID"
> "$OUTPUT_GROUP_REMOVE"

# 跳过表头,循环处理每一行数据
tail -n +2 "$INPUT_FILE" | while IFS=, read -r user_dn nid_value; do
    # 写入removenid.ldif内容
    cat >> "$OUTPUT_REMOVE_NID" <<-EOF
dn: $user_dn
changetype: modify
delete: nIds
nIds: $nid_value
-

EOF

    # 写入groupremoval.ldif内容
    cat >> "$OUTPUT_GROUP_REMOVE" <<-EOF
dn: cn=ghk,cn=klm,cn=opu,dc=xyx
changetype: modify
delete: member
member: $user_dn

EOF
done

echo "LDIF文件生成成功:$OUTPUT_REMOVE_NID、$OUTPUT_GROUP_REMOVE"

生成的LDIF文件说明

1. removenid.ldif

用于批量删除用户的nIds属性,最终内容格式如下:

dn: uid=uid12345,cn=abc,cn=def,dc=xyx
changetype: modify
delete: nIds
nIds: 7_54321
-

dn: uid=uid6789,cn=abc,cn=def,dc=xyx
changetype: modify
delete: nIds
nIds: 5_9876
-

2. groupremoval.ldif

用于批量将用户从指定LDAP组中移除,最终内容格式如下:

dn: cn=ghk,cn=klm,cn=opu,dc=xyx
changetype: modify
delete: member
member: uid=uid12345,cn=abc,cn=def,dc=xyx

dn: cn=ghk,cn=klm,cn=opu,dc=xyx
changetype: modify
delete: member
member: uid=uid6789,cn=abc,cn=def,dc=xyx

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:31:18