home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 27 / IOPROG_27.ISO / SOFT / ADSDK.ZIP / Samples / ActiveDir / Computer / Computer.frm (.txt) next >
Encoding:
Visual Basic Form  |  1999-01-28  |  2.2 KB  |  65 lines

  1. VERSION 5.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "Form1"
  4.    ClientHeight    =   3195
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   4680
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   3195
  10.    ScaleWidth      =   4680
  11.    StartUpPosition =   3  'Windows Default
  12. Attribute VB_Name = "Form1"
  13. Attribute VB_GlobalNameSpace = False
  14. Attribute VB_Creatable = False
  15. Attribute VB_PredeclaredId = True
  16. Attribute VB_Exposed = False
  17. Private Sub Form_Load()
  18. Const UF_WORKSTATION_TRUST_ACCOUNT = &H1000
  19. Const UF_ACCOUNTDISABLE = &H2
  20. Const UF_PASSWD_NOTREQD = &H20
  21. Const ADS_GUID_COMPUTRS_CONTAINER = "aa312825768811d1aded00c04fd8d5cd"
  22. Const ADS_ACETYPE_ACCESS_ALLOWED = 0
  23. Const ADS_ACEFLAG_INHERIT_ACE = 2
  24. '---------- PARAMETERS -------------------------------------
  25. lFlag = UF_WORKSTATION_TRUST_ACCOUNT Or UF_ACCOUNTDISABLE Or UF_PASSWD_NOTREQD
  26. sComputer = "andyhar07"
  27. sUserOrGroup = "WINDOWS20000\andyhar" 'who can joins this computer
  28. '--- BUILD WELL KNOWN GUID ADS PATH FOR COMPUTER CONTAINER-------
  29. Set rootDSE = GetObject("LDAP://RootDSE")
  30. sPath = "LDAP://<WKGUID=" & ADS_GUID_COMPUTRS_CONTAINER
  31. sPath = sPath + ","
  32. sPath = sPath + rootDSE.Get("defaultNamingContext")
  33. sPath = sPath + ">"
  34. Set compCont = GetObject(sPath)
  35. sPath = "LDAP://" & compCont.Get("distinguishedName")
  36. Set compCont = GetObject(sPath)
  37. '------- CREATE A COMPUTER OBJECT --------------
  38. Set comp = compCont.Create("computer", "CN=" & sComputer)
  39. comp.Put "samAccountName", sComputer + "$"
  40. comp.Put "userAccountControl", lFlag
  41. comp.SetInfo
  42. '----- SET INITIAL PASSWORD-------------------
  43. sPwd = sComputer & "$"
  44. sPwd = StrConv(sPwd, vbLowerCase)
  45. comp.SetPassword sPwd
  46. '----- SET ACL -------------------
  47. Set sd = comp.Get("ntSecurityDescriptor")
  48. Set dacl = sd.DiscretionaryAcl
  49. '--ACE
  50. Set ace = CreateObject("AccessControlEntry")
  51. ace.AccessMask = -1 'Full Permission (Allowed)
  52. ace.AceType = ADS_ACETYPE_ACCESS_ALLOWED
  53. ace.AceFlags = ADS_ACEFLAG_INHERIT_ACE
  54. ace.Trustee = sUserOrGroup
  55. '- ACL
  56. dacl.AddAce ace
  57. sd.DiscretionaryAcl = dacl
  58. '- SD
  59. comp.Put "ntSecurityDescriptor", Array(sd)
  60. comp.SetInfo
  61. '---- ENABLE THE ACCOUNT ----------
  62. comp.AccountDisabled = False
  63. comp.SetInfo
  64. End Sub
  65.