zoukankan      html  css  js  c++  java
  • 域控批量创建域用户,并授权组

    域控批量创建域用户,并授权组

    1. 创建一个csv的模板文件

      samid display ou-1 dc-1 dc-2 pwd dept group
      1 刘一 技术中心 test com 12345678 研发部 Domain Admins
      2 刘二 测试中心 test com 12345678 研发部 Domain Admins
      3 刘三 开发中心 test com 12345678 研发部 Domain Admins
      4 刘四 开发中心 test com 12345678 研发部 Domain Admins
      5 刘五 开发中心 test com 12345678 研发部 Domain Admins
      6 刘六 测试中心 test com 12345678 研发部 Domain Admins
      7 刘七 测试中心 test com 12345678 研发部 Domain Admins
      8 刘八 技术中心 test com 12345678 研发部 Domain Admins
    2. 编写一个bat批处理

      @echo off
      echo 获取Administrator权限
      cacls.exe "%SystemDrive%System Volume Information" >nul 2>nul
      if %errorlevel%==0 goto Admin
      if exist "%temp%getadmin.vbs" del /f /q "%temp%getadmin.vbs"
      echo Set RequestUAC = CreateObject^("Shell.Application"^)>"%temp%getadmin.vbs"
      echo RequestUAC.ShellExecute "%~s0","","","runas",1 >>"%temp%getadmin.vbs"
      echo WScript.Quit >>"%temp%getadmin.vbs"
      "%temp%getadmin.vbs" /f
      if exist "%temp%getadmin.vbs" del /f /q "%temp%getadmin.vbs"
      exit
      
      :Admin
      echo 成功取得Administrator权限
      
      for /f "skip=1 eol=; tokens=1-9  delims=," %%a in (G:domindomainuser.csv) do dsadd user "cn=%%b,OU=%%c,dc=%%d,dc=%%e"   -samid "%%a"  -upn "%%a@chenfan.com"  -display "%%b"  -ln "%%b" -pwd %%f -dept %%c 
      timeout /nobreak /t 3
      for /f "skip=1 eol=; tokens=1-9  delims=," %%a in (G:domindomainuser.csv) do net group  "Domain Admins"  %%a /add
      pause
      

      以上代码大概的意思是,先获取管理员权限,然后循环读取刚刚创建的csv文件,并逐一复制创建账号,等等3秒后循环读取csv文件逐一授权域管理员权限。具体命令与命令参数如下:

      • skip=1 跳过第一行数据,也就是跳过标题

      • eol; 注释行的符号为;

      • tokens=1-9 每次提取的变量个数(可以往多了写,不影响的)

      • delims, 每个变量的分割符号是 ,

      • %%a in 引用 %%a变量为第一列的值,%%b则是第二列的值依次类推 ,in 后面的括号则是csv模板文件的路径地址

      • do 这后面跟的就是你需要循环执行的命令,跟其他的开发语言类似

      • "cn=%%b,OU=%%c,dc=%%d,dc=%%e" 这里一一对应模板中的二、三、四、五列中的值,cn你可以理解为你用户的显示名,ou则为组织单位(如果存在多级组织单位的则一次层级写多个ou,先小再大的顺序。例如你需要将你的用户创建在开发中心的开发组那么这里就需要写两个ou,顺序则是 ou=开发组,ou=开发中心),dc则为你的域名(例如我的域名是test.com,那么写的格式则是dc=test,dc=com

      • -samid 用户的登录名(Windows 2000以前版本格式)

      • -upn 用户登录名

      • -display 用户显示名称

      • -ln 用户的姓氏

      • -pwd 指定用户密码

      • -dept 用户组织中的部门

        dsadd user完整的命令参数可参考官方文档:点击前往查看

    1. 演示测试

      我这里就批量创建两个账号做一个测试演示。

      3.1 创建csv文件

      samid display ou-1 dc-1 dc-2 pwd dept group
      11999 刘九 技术中心 test com 12345678 研发部 Domain Admins
      11998 刘八 技术中心 test com 12345678 研发部 Domain Admins

      3.2 双击运行bat批处理

      3.3 创建后效果如下图,因另外一个账号没什么不同我就不一一截图了。参数不懂的可以看我发的图来对应起来。

      image-20210813153507260
      image-20210813153507260

      image-20210813153606727
      image-20210813153606727

      image-20210813153653762
      image-20210813153653762

      image-20210813153735312
      image-20210813153735312

  • 相关阅读:
    e552. 取Applet的参数
    e551. 精简的Applet
    e558. 在Applet中多图片交互显示
    e1087. try/catch语句
    e1086. if/else语句
    e1087. 用For循环做数组的遍历
    e1084. 捕获错误和异常
    Zookeeper 应用程序
    Zookeeper API
    Java并发编程:volatile关键字解析
  • 原文地址:https://www.cnblogs.com/98record/p/yu-kong-pi-liang-chuang-jian-yu-yong-hu-bing-shou.html
Copyright © 2011-2022 走看看