• AD批量修改用户属性值


    批量修改域用户属性值,上一份工作弄过,没有记录文档,于是这次给记录下来

    使用dsquery 和dsmod 命令结合使用

    dsquery user 用于查询用户相关属性信息
    dsmod user 修改用户属性

    dsmod 修改用户属性 官方命令

    Dsmod: Active Directory | Microsoft Docs https://docs.microsoft.com/zh-cn/previous-versions/orphan-topics/ws.10/cc755470(v=ws.10)?redirectedfrom=MSDN

    -name 查找其名称与筛选器的给定
    (如 “jon*”、“ith" 或 "jth”)

    dsquery 查询用户属性

    Dsquery user | Microsoft Docs https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc725702(v=ws.10)?redirectedfrom=MSDN

    -name 查找其名称与筛选器的给定
    (如 “jon*”、“ith" 或 "jth”)

    实操

    批量导出域用户 name 信息

    dsquery user “OU=hmtech,DC=hmtech,DC=com”

    Dsquery 已达到要显示的 100 个结果的默认界限;使用 -limit 选项显示更多的结果。

    dsquery user “OU=hmtech,DC=hmtech,DC=com” -name -limit 350 >c:\name.txt
    导出到name.txt里

    dsquery user “OU=hmtech,DC=hmtech,DC=com” -name * -limit 450
    查看当前用户信息

    导出后,修改信息到excel中
    csv格式如下
    在这里插入图片描述

    1.查询用户 one

    C:\Windows\system32>dsquery user -name one
    “CN=one,OU=Ops_Dept,OU=IT_Dept,OU=hmtech,DC=hmtech,DC=com”

    查询用户并修改其邮箱为 one@huamengtech.net

    C:\Windows\system32>dsquery user -name one | dsmod user -email one@huamengtech.net
    dsmod 成功:CN=one,OU=Ops_Dept,OU=IT_Dept,OU=hmtech,DC=hmtech,DC=com

    修改 特殊字符用户 比如带空格的、带汉字的用户

    1.现在用户 属性编辑器 ,找到 name值 查看
    Wind 罗峰
    2.查询用户,需要在值上附上双引号,避免识别无效
    C:\Windows\system32>dsquery user -name “Wind 罗峰”
    “CN=Wind 罗峰,OU=Ops_Dept,OU=IT_Dept,OU=hmtech,DC=hmtech,DC=com”

    C:\Windows\system32>dsquery user -name “Wind 罗峰” | dsmod user -email wind.luo@huamengtech.net
    dsmod 成功:CN=Wind 罗峰,OU=Ops_Dept,OU=IT_Dept,OU=hmtech,DC=hmtech,DC=com

    批量修改域用户邮箱,这时候需要借用csv文件列表了。
    得出这样一条命令后我们既然要批量修改那么就要想办法通过调用CSV文件来循环的跑这一行命令。

    for /f "skip=1 eol=;tokens=1-2 delims=," %a in (c:\mail.csv) do dsquery user -name %a | dsmod user -email %b
    
    • 1

    for /f “skip=1 eol=;tokens=1-2 delims=,” %a in (c:\mail.csv) do dsquery user -name %a | dsmod user -email %b

    skip=1 去掉CSV中的第一行
    tokens=1-2取值CSV中的第一至第二例
    %a in (c:\mail.csv) 调用在C盘根目录的mail.csv文件
    dsquery user -name %a 中的%a为取值CSV中的A列
    dsmod user -email %b 中的%b为取值CSV中的B列

    那这样我们就可以知道CSV应该怎样制作了。

    用户名 email
    aaa aaa@huamengtech.net
    bbb bbb@huamengtech.net

    第一次导入失败,提示无法识别对象。

    C:\Windows\system32>for /f “skip=1 eol=;tokens=1-2 delims=,” %a in (c:\yunwei.csv) do dsquery user -name %a | dsmod user -email %b

    C:\Windows\system32>dsquery user -name Wind 罗X | dsmod user -email wind.luo@huamengtech.net
    dsquery 失败:“startnode”值的格式错误。
    键入 dsquery /? 以获取帮助。dsmod 失败:“此命令的目标对象”丢失。
    键入 dsmod /? 以获取帮助。

    问题推测,既然是 dsmod 失败:“此命令的目标对象”丢失 说明找不到域用户呗,于是在用户栏加了双引号
    在这里插入图片描述

    C:\Windows\system32>for /f “skip=1 eol=;tokens=1-2 delims=,” %a in (c:\name.csv) do dsquery user -name %a | dsmod user -email %b

    C:\Windows\system32>dsquery user -name “”“Wind 罗峰”“” | dsmod user -email wind.luo@huamengtech.net
    dsmod 成功:CN=Wind 罗峰,OU=Ops_Dept,OU=IT_Dept,OU=hmtech,DC=hmtech,DC=com

    C:\Windows\system32>

    查看客户端,成功执行

    在这里插入图片描述

  • 相关阅读:
    常错题型
    数据结构——栈与队列
    Flink container exit 143 问题排查
    Springboot门诊电子处方管理系统3kqta计算机毕业设计-课程设计-期末作业-毕设程序代做
    【word密码】word设置只读方式的四个方法
    Flink集群架构
    SpringBoot 学习(三)Web 开发
    math_消除根式:椭圆的标准式方程推导&坐标系平移&整理多项式
    佘太地纯的前世今生
    智能音箱语音交互系统简介与测试初探
  • 原文地址:https://blog.csdn.net/weixin_38627000/article/details/125616689