ITPub博客

首页 > Linux操作系统 > Linux操作系统 > AD管理脚本

AD管理脚本

原创 Linux操作系统 作者:大智弱驴 时间:2008-04-22 15:04:54 0 删除 编辑

给朋友公司创建的一个AD管理的脚本,主要在Carrefour China根OU下创建门店编号的子OU,在子OU下再创建子子OU,然后创建域本地组和全局组,然后进行组的嵌套。

======将下面的内容保存为.HTA文档(不包含这一行)=========


AD管理
      ApplicationName = "AD管理"
      SingleInstance  = "yes"
      ShowInTaskbar   = "yes"
      WindowState     = "normal"

      Caption         = "yes"
      Sysmenu         = "yes"
      MaximizeButton  = "no"
      Border          = "dialog"
      BorderStyle     = "normal"
      InnerBorder     = "yes"
      Scroll          = "no"
      ContextMenu     = "no"
      Selection       = "no" />
     

Const strAbout  = "1.0 (2007年8月26日)"
Const strCopyr  = "上海赛卫思 许震 / xz1215@263.net"
Const strHelp  = "请以域管理员身份运行本脚本"

Window.resizeTo 360, 240
   
Sub RunScript
 
 'On Error Resume Next
 Const E_RootOU_Not_Found = 424
 Const ADS_PROPERTY_APPEND = 3
 Const ADS_GROUP_TYPE_LOCAL_GROUP = &h4
 Const ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000


 '获得门店简称XXXX和编号YYY,如果用户没有输入就提示错误信息并退出
 If StoreName.value="" Then
  InfoArea.InnerHTML="Err:没有输入门店简称!"
  Exit Sub
 Else
  XXXX=UCase(StoreName.value)
 End If
 If StoreNum.value="" Then
  InfoArea.InnerHTML="Err:没有输入门店编号!"
  Exit Sub
 Else
  YYY= UCase(StoreNum.value)
 End If
 
 '设定OU名称
 StoreOU="OU=" & XXXX & YYY
 
 '设定根OU为chdom.corp\Carrefour China
 RootOU="OU=Carrefour China"
 DomainDN="DC=serviceit,DC=local"
  
 Set bjRootOU = GetObject("LDAP://" & RootOU & "," & DomainDN)
 If err.number <>0 Then
  InfoArea.InnerHTML="域名或根OU不存在,请修改脚本!"
  err.Clear
  Exit Sub
 End If
 
 Set bjStoreOU = objRootOU.Create("OrganizationalUnit", StoreOU)
 objStoreOU.SetInfo
 If err.number <>0 Then
  InfoArea.InnerHTML= "该OU已经存在,请检查AD对象或输入信息!"
  Exit Sub
 Else
  InfoArea.InnerHTML= XXXX & YYY & "门店OU创建成功,正在创建子OU..."
 End If
 
 '创建子OU
 Set bjStoreRootOU = GetObject("LDAP://" & StoreOU & "," & RootOU & "," & DomainDN)
 Set objOU1 = objStoreRootOU.Create("OrganizationalUnit", "OU=Groups Global")
 objOU1.SetInfo
 Set objOU2 = objStoreRootOU.Create("OrganizationalUnit", "OU=Groups Local")
 objOU2.SetInfo
 Set objOU3 = objStoreRootOU.Create("OrganizationalUnit", "OU=Servers")
 objOU3.SetInfo
 Set objOU4 = objStoreRootOU.Create("OrganizationalUnit", "OU=Services Account")
 objOU4.SetInfo 
 Set objOU5 = objStoreRootOU.Create("OrganizationalUnit", "OU=Users")
 objOU5.SetInfo 
 Set objOU6 = objStoreRootOU.Create("OrganizationalUnit", "OU=Workstations")
 objOU6.SetInfo
 '子OU创建完成
  
 
 
 '在Groups Global OU下创建7个全局组
 Set bjGroupGlobleOU = GetObject("LDAP://OU=Groups Global," & StoreOU & "," & RootOU & "," & DomainDN)
 
 Set objGroupGloble1 = objGroupGlobleOU.Create("Group", "CN=gg" & XXXX & "_AccountOperators")
 objGroupGloble1.Put "sAMAccountName", "gg" & XXXX & "_AccountOperators"
 objGroupGloble1.SetInfo 
 
 Set objGroupGloble2 = objGroupGlobleOU.Create("Group", "CN=gg" & XXXX & "_HelpDesk")
 objGroupGloble2.Put "sAMAccountName", "gg" & XXXX & "_HelpDesk"
 objGroupGloble2.SetInfo
 
 Set objGroupGloble3 = objGroupGlobleOU.Create("Group", "CN=gg" & XXXX & "_LocalAdmins")
 objGroupGloble3.Put "sAMAccountName", "gg" & XXXX & "_LocalAdmins"
 objGroupGloble3.SetInfo
 
 Set objGroupGloble4 = objGroupGlobleOU.Create("Group", "CN=gg" & XXXX & "_ServerAdmins")
 objGroupGloble4.Put "sAMAccountName", "gg" & XXXX & "_ServerAdmins"
 objGroupGloble4.SetInfo
 
 Set objGroupGloble5 = objGroupGlobleOU.Create("Group", "CN=gg" & XXXX & "_WorkstationAdmins")
 objGroupGloble5.Put "sAMAccountName", "gg" & XXXX & "_WorkstationAdmins"
 objGroupGloble5.SetInfo
 
 Set objGroupGloble6 = objGroupGlobleOU.Create("Group", "CN=gg" & XXXX & YYY)
 objGroupGloble6.Put "sAMAccountName", "gg" & XXXX & YYY
 objGroupGloble6.SetInfo
 
 Set objGroupGloble7 = objGroupGlobleOU.Create("Group", "CN=gg" & XXXX & "EnaUSB")
 objGroupGloble7.Put "sAMAccountName", "gg" & XXXX & "EnaUSB"
 objGroupGloble7.SetInfo
 'Groups Global OU中全局组创建完成
 
 '在Groups Local OU中创建6个域本地组
 Set bjGroupLocalOU = GetObject("LDAP://OU=Groups Local," & StoreOU & "," & RootOU & "," & DomainDN)
 
 Set objGroupLocal1 = objGroupLocalOU.Create("Group", "CN=lg" & XXXX & "_AccountOperators")
 objGroupLocal1.Put "sAMAccountName", "lg" & XXXX & "_AccountOperators"
 objGroupLocal1.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP Or ADS_GROUP_TYPE_SECURITY_ENABLED
 objGroupLocal1.SetInfo 
 
 Set objGroupLocal2 = objGroupLocalOU.Create("Group", "CN=lg" & XXXX & "_HelpDesk")
 objGroupLocal2.Put "sAMAccountName", "lg" & XXXX & "_HelpDesk"
 objGroupLocal2.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP Or ADS_GROUP_TYPE_SECURITY_ENABLED
 objGroupLocal2.SetInfo
 
 Set objGroupLocal3 = objGroupLocalOU.Create("Group", "CN=lg" & XXXX & "_LocalAdmins")
 objGroupLocal3.Put "sAMAccountName", "lg" & XXXX & "_LocalAdmins"
 objGroupLocal3.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP Or ADS_GROUP_TYPE_SECURITY_ENABLED
 objGroupLocal3.SetInfo
 
 Set objGroupLocal4 = objGroupLocalOU.Create("Group", "CN=lg" & XXXX & "_ServerAdmins")
 objGroupLocal4.Put "sAMAccountName", "lg" & XXXX & "_ServerAdmins"
 objGroupLocal4.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP Or ADS_GROUP_TYPE_SECURITY_ENABLED
 objGroupLocal4.SetInfo
 
 Set objGroupLocal5 = objGroupLocalOU.Create("Group", "CN=lg" & XXXX & "_WorkstationAdmins")
 objGroupLocal5.Put "sAMAccountName", "lg" & XXXX & "_WorkstationAdmins"
 objGroupLocal5.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP Or ADS_GROUP_TYPE_SECURITY_ENABLED
 objGroupLocal5.SetInfo
 
 Set objGroupLocal6 = objGroupLocalOU.Create("Group", "CN=lg" & XXXX & YYY)
 objGroupLocal6.Put "sAMAccountName", "lg" & XXXX & YYY
 objGroupLocal6.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP Or ADS_GROUP_TYPE_SECURITY_ENABLED
 objGroupLocal6.SetInfo
 '在Groups Local OU中创建域本地组完成
 
 '在Services Account OU中创建SMSRemoteControlGroup全局组
 Set bjServicesAccountOU = GetObject("LDAP://OU=Services Account," & StoreOU & "," & RootOU & "," & DomainDN)
 
 Set objGroupGloble8 = objServicesAccountOU.Create("Group", "CN=gg" & XXXX & "_SMSRemoteControlGroup")
 objGroupGloble8.Put "sAMAccountName", "gg" & XXXX & "_SMSRemoteControlGroup"
 objGroupGloble8.SetInfo  
 '在Services Account OU中创建SMSRemoteControlGroup全局组完成
 
 '将全局组添加到本地组中
 Set bjAccountOperatorsGroup = GetObject("LDAP://CN=lg" & XXXX & "_AccountOperators,OU=Groups Local," _
     & StoreOU & "," & RootOU & "," & DomainDN)
 objAccountOperatorsGroup.PutEx ADS_PROPERTY_APPEND, "member", array("CN=gg" & XXXX & "_AccountOperators,OU=Groups Global," & StoreOU & "," & RootOU & "," & DomainDN)
 objAccountOperatorsGroup.SetInfo
 
 Set bjHelpDeskGroup = GetObject("LDAP://CN=lg" & XXXX & "_HelpDesk,OU=Groups Local," _
     & StoreOU & "," & RootOU & "," & DomainDN)
 objHelpDeskGroup.PutEx ADS_PROPERTY_APPEND, "member", array("CN=gg" & XXXX & "_HelpDesk,OU=Groups Global," & StoreOU & "," & RootOU & "," & DomainDN)
 objHelpDeskGroup.SetInfo
 
 Set bjLocalAdminsGroup = GetObject("LDAP://CN=lg" & XXXX & "_LocalAdmins,OU=Groups Local," _
     & StoreOU & "," & RootOU & "," & DomainDN)
 objLocalAdminsGroup.PutEx ADS_PROPERTY_APPEND, "member", array("CN=gg" & XXXX & "_LocalAdmins,OU=Groups Global," & StoreOU & "," & RootOU & "," & DomainDN)
 objLocalAdminsGroup.SetInfo
 
 Set bjServerAdminsGroup = GetObject("LDAP://CN=lg" & XXXX & "_ServerAdmins,OU=Groups Local," _
     & StoreOU & "," & RootOU & "," & DomainDN)
 objServerAdminsGroup.PutEx ADS_PROPERTY_APPEND, "member", array("CN=gg" & XXXX & "_ServerAdmins,OU=Groups Global," & StoreOU & "," & RootOU & "," & DomainDN)
 objServerAdminsGroup.SetInfo
 
 Set bjWorkStationAdminsGroup = GetObject("LDAP://CN=lg" & XXXX & "_WorkStationAdmins,OU=Groups Local," _
     & StoreOU & "," & RootOU & "," & DomainDN)
 objWorkStationAdminsGroup.PutEx ADS_PROPERTY_APPEND, "member", array("CN=gg" & XXXX & "_WorkStationAdmins,OU=Groups Global," & StoreOU & "," & RootOU & "," & DomainDN)
 objWorkStationAdminsGroup.SetInfo
 
 Set bjXXXXYYYGroup = GetObject("LDAP://CN=lg" & XXXX & YYY & ",OU=Groups Local," _
     & StoreOU & "," & RootOU & "," & DomainDN)
 objXXXXYYYGroup.PutEx ADS_PROPERTY_APPEND, "member", array("CN=gg" & XXXX & YYY & ",OU=Groups Global," & StoreOU & "," & RootOU & "," & DomainDN)
 objXXXXYYYGroup.SetInfo
 '全局组添加到域本地组完成
 
 
 
End Sub
 
Sub setx(t)
 Dim obj : Set bj = window.event.srcElement
 If t = "" Then
     obj.style.color  = "gray"
        obj.style.cursor = "default"
    Else
        obj.style.color  = "darkblue"
        obj.style.cursor = "hand"
    End If
    footer.innerHTML = t
End Sub


AD管理脚本


    输入门店简称,如SHNX;输入门店号,如145

    确认无误后点击运行按钮


   
门店简称:   

门店编号:   






信息:无





版本 |
作者 |
帮助 |


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23034/viewspace-246597/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-04-18

  • 博文量
    18
  • 访问量
    36290