Get Users from Active Directory and create homefolder.
‘ Script creates homefolders for users and sets NTFS-rights
‘ for the specific user and the group Administrators
‘ (this can be changed).
‘ Written by Joachim Nässlander, Qbranch AB
‘ joachim.nasslander@qbranch.se.remove
‘ ———————————————————
On Error Resume Next
‘ Unit and directory
‘ It’s not shared automatically, so must be shared. (Everyone, full control will do since the rights are set on NTFS-level)
RootDrive = “D:”
RootFolder = “Homedirectories”
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject(”ADODB.Connection”)
Set objCommand = CreateObject(”ADODB.Command”)
objConnection.Provider = “ADsDSOObject”
objConnection.Open “Active Directory Provider”
Set objCommand.ActiveConnection = objConnection
‘ SELECT USERS FROM A SPECIFIC OU, this could be changed to be the entire AD.
objCommand.CommandText = _
“Select sAMAccountName from ” & _
“‘LDAP://CN=Users,DC=domain,DC=local’ where objectClass=’user’”
objCommand.Properties(”Page Size”) = 1000
objCommand.Properties(”Searchscope”) = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
‘ CREATES OBJECTS
Set objFs = Wscript.CreateObject(”Scripting.FilesystemObject”)
Set WshShell = Wscript.CreateObject(”Wscript.Shell”)
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
‘ CHECK IF FOLDER EXISTS
If Not objFs.FolderExists(RootDrive & “\” & RootFolder & “\” & objRecordSet.Fields(”sAMAccountName”).Value) Then
‘ CREATE FOLDER
objFs.CreateFolder(RootDrive & “\” & RootFolder & “\” & objRecordSet.Fields(”sAMAccountName”).Value)
‘ Set NTFS-rights (user + group Administrators)
WshShell.Run(”xcacls ” & RootDrive & “\” & RootFolder & “\” & objRecordSet.Fields(”sAMAccountName”).Value & ” /G ” & objRecordSet.Fields(”sAMAccountName”).Value & “:C;C /Y”)
WshShell.Run(”xcacls ” & RootDrive & “\” & RootFolder & “\” & objRecordSet.Fields(”sAMAccountName”).Value & ” /E /G Administrators:F;F /Y”)
End If
objRecordSet.MoveNext
Loop