Easyadsi.vbs
Option Explicit Dim oRoot, oOU, strContainer, oUser, strUser strContainer = ?LDAP://ou=finance,dc=acme,dc=com? ?********************************************************************** ?* IADs::PutEx Constants ?********************************************************************** Const ADS_PROPERTY_CLEAR = 1 Const ADS_PROPERTY_UPDATE = 2 Const ADS_PROPERTY_APPEND = 3 Const ADS_PROPERTY_DELETE = 4
A
?********************************************************************
?* Scenario 1 ADSI Interface
?**********************************************************************
Set oOU = GetObject(strContainer)
Set oUser = oOU.Create(?User?, ?cn=Judy Schneider?) ? IADsContainer
oUser.Put ?sAMAccountName?, ?JudyS? ? IADs
oUser.SetInfo ? IADs
oUser.SetPassword ?qwerty? ? IADsUser
oUser.AccountDisabled = FALSE ? IADs
?**********************************************************************
?* Setting Optional User Properties
?* ——————————————
?* The following user properties are divided into groups that correspond
?* to the property pages available in the Active Directory Users and
?* Computers snap-in?s User Properties dialog box. The attribute names
?* in the code on the left are the LDAP display names of the attribute.
?* The names referenced in the comments to the right are the labels that
?* appear on the property pages. The mapping between LDAP display
?* names and property page labels is stored in the attributeDisplayNames
?* property that is a member of the displaySpecifier class.
?**********************************************************************
?* General Property Page
?**********************************************************************
oUser.givenName = ?Judy? ? First Name
oUser.initials = ?JAS? ? Initials
oUser.sn = ?Schneider? ? Last Name
oUser.displayName = ?Judy Schneider? ? Display Name
oUser.description = ?Comptroller? ? Description
oUser.physicalDeliveryOfficeName = ?12/3456? ? Office Location
oUser.telephoneNumber = ?(111) 111-1111? ? Telephone Number
oUser.otherTelephone = Array(?(222) 222-2222?, _
?(333) 333-3333?) ? Phone Number (Others)
oUser.mail = ?judys@acme.com? ? Email Address
oUser.wWWHomePage = ?http://acme.com/judys? ? Web Page Address
oUser.url = Array(?http://anotherUrl?, _
?http://yetanotherUrl?) ? Web Page Address (Others)
?**********************************************************************
?* Address Property Page
?**********************************************************************
oUser.streetAddress = ?1 Wall Street? ? Street Address
oUser.postOfficeBox = ?N/A? ? Post Office Box
oUser.l = ?New York? ? City
oUser.st = ?NY? ? State/Province
oUser.postalCode = ?10005? ? ZIP/Postal Code
oUser.co = ?United States? ? Country
?**********************************************************************
?* Account Property Page
?**********************************************************************
oUser.userPrincipalName = ?judys? ? Logon Name
oUser.userWorkstations = ?jasdesktop? & ?,? & _
?jaslaptop? ? Log On To... ? Logon Workstations
oUser.pwdLastSet = CLng(-1) ? Disable ?User must change
? password at next logon?
oUser.AccountExpirationDate = Date + 1 ? Account expires - End of:
?**********************************************************************
?* Profile Property Page
?**********************************************************************
? User profile - Profile path
oUser.profilePath = ?%LOGONSERVER%Documents and Settingsjudys?
? User profile - Logon script
oUser.scriptPath = ?logon.wsf //job:finance?
? Home Drive
oUser.homeDrive = ?H:?
? Home Folder
oUser.homeDirectory = ?%LOGONSERVER%Documents and Settingsjudys?
?**********************************************************************
?* Telephones Property Page
?**********************************************************************
oUser.homePhone = ?(444) 444-4444? ? Home Phone
oUser.otherHomePhone = Array(?(555) 555-5555?, _
?(666) 666-6666?) ? Home Phone (Others)
oUser.pager = ?(777) 777-7777? ? Pager Number
oUser.otherPager = Array(?(888) 888-8888?, _
?(999) 999-9999?) ? Pager Number (Others)
oUser.mobile = ?(000) 000-0000? ? Mobile Number
oUser.otherMobile = Array(?(aaa) aaa-aaaa?, _
?(bbb) bbb-bbbb?) ? Mobile Number (Others)
oUser.facsimileTelephoneNumber = _
?(ccc) ccc-cccc? ? Fax Number
oUser.otherFacsimileTelephoneNumber = _
Array(?(ddd) ddd-dddd?, ?(eee) eee-eeee?) ? Fax Number (Others)
oUser.ipPhone = ?1.1.1.1? ? IP Phone Number
oUser.otherIpPhone = Array(?2.2.2.2?,?3.3.3.3?) ? IP Phone Number (Others)
oUser.info = ?Primary contact number: Mobile? ? Notes
?**********************************************************************
?* Organization Property Page
?**********************************************************************
oUser.title = ?Senior Comptroller? ? Job Title
oUser.department = ?Accounting & Finance? ? Department
oUser.company = ?Acme Widgets? ? Company
?**********************************************************************
?* Miscellaneous: Not Accessible Via UI by Default...
?**********************************************************************
oUser.middleName = ?Anne? ? Middle Name
oUser.employeeID = ?23? ? Employee ID
oUser.comment = ?Vegatarian? ? Comment
oUser.personalTitle = ?Accountant? ? Title
oUser.division = ?Corporate? ? Division
oUser.otherMailbox = Array(?judys@hotmail.com?, _
?judys@zdnetonebox.com?) ? Email Address (Others)
oUser.homePostalAddress = ?10 Carriage Circle? ? Home Address
oUser.c = ?US? ? Country Abbreviation
oUser.primaryTelexNumber = ?(fff) fff-ffff? ? Telex Number
oUser.telexNumber = Array(?(ggg) ggg-gggg?, _
?(hhh) hhh-hhhh?) ? Telex Number (Others)
oUser.primaryInternationalISDNNumber = _
?InternationalISDNNumber1? ? International ISDN Number
oUser.SetInfo
Set oOU = Nothing
Set oUser = Nothing
B
?**********************************************************************
?* Scenario 2 ADSI Interface
?**********************************************************************
strUser = ?LDAP://cn=Judy Schneider,ou=finance,dc=acme,dc=com?
Set oUser = GetObject(strUser)
oUser.Put ?homePostalAddress?, ?39 Echo Mill Drive? ? IADs
oUser.Put ?homePhone?, ?(123) 456-7890? ? IADs
oUser.PutEx ADS_PROPERTY_APPEND, _
?otherHomePhone?, _
Array(?(098) 765-4321?) ? IADs
oUser.SetInfo ? IADs
Set oUser = Nothing
C
?********************************************************************** ?* ADSI Interface ?********************************************************************** strContainer = ?LDAP://ou=executive,dc=acme,dc=com? strUser = ?LDAP://cn=Judy Schneider,ou=finance,dc=acme,dc=com? Set oOU = GetObject(strContainer) oOU.MoveHere strUser, ?cn=Judy Schneider? ? IADsContainer Set oOU = Nothing
D
?**********************************************************************
?* ADSI Interface
?**********************************************************************
strContainer = ?LDAP://ou=executive,dc=acme,dc=com?
strUser = ?LDAP://cn=Judy Schneider,ou=executive,dc=acme,dc=com?
Set oOU = GetObject(strContainer)
oOU.Delete ?User?, ?cn=Judy Schneider? ? IADsContainer
Set oOU = Nothing
Конец Листинга 2