Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: Set Home Directory Home Directory Home_dir for User ADSI COM dsSetProperty wntUserSetDat
; Load Appropriate Extender AddExtender('wwwnt34i.dll',0,'wwwnt64i.dll') Pause('Current',wntUserGetDat("\\domain","domain\joed","home_dir",0)) wntUserSetDat("\\domain","domain\joed","home_dir","\\server\share\username",0) Pause('updated',wntUserGetDat("\\domain","domain\joed","home_dir",0)) ExitADSI Extender function dsSetProperty of HomeDirectory.
;*************************************************************************** ;** Set Home Directory for User using ADSI Extender ;** ;** ;** Purpose: Set Home Directory and Home Drive for an AD user. ;** Inputs: Home directory path and home drive ;** Outputs: display results ;** Revisions: Deana Falk 2013.10.10 ;*************************************************************************** AddExtender("wwads44i.dll") ServerDn=dsGetProperty("LDAP://rootDSE", "serverName") ServerName=ItemExtract(2, ItemExtract(1, ServerDn, ","), "=") ServerDn=dsGetProperty("LDAP://rootDSE", "defaultNamingContext") ServerPath="LDAP://%ServerName%/%ServerDN%" list = dsFindPath (ServerPath, "(& (objectClass=User))") strUserPath = AskItemlist('User list', list, @TAB, @UNSORTED, @SINGLE ) strUser = dsGetProperty(strUserPath, "sAMAccountName") strHomeDirectory = "\\DC\Sample\Sales\" : strUser ; !!! MODIFY TO FIT YOUR NEEDS !!! strHomeDrive = "H:" ; !!! MODIFY TO FIT YOUR NEEDS !!! dsSetProperty(strUserPath, "HomeDirectory", strHomeDirectory ) dsSetProperty(strUserPath, "HomeDrive", strHomeDrive ) ;Check our work. result = dsGetProperty(strUserPath, "HomeDirectory") Message("Property Value Just Set.", result) ExitADSI using COM
;*************************************************************************** ;** Set Home Directory for User using ADSI COM ;** ;** ;** Purpose: Set Home Directory and Home Drive for an AD user. ;** Inputs: Home directory path and home drive ;** Outputs: display results ;** Revisions: Deana Falk 2013.10.10 ;*************************************************************************** objADOCmd = ObjectCreate("ADODB.Command") objADOConn = ObjectCreate("ADODB.Connection") objADOConn.Provider = "ADsDSOObject" objADOConn.Open("Active Directory Provider") objADOCmd.ActiveConnection = objADOConn ; Get Server LDAP Path objRootDSE = GetObject("LDAP://rootDSE") strServerName = objRootDSE.ServerName strServerName= "LDAP://":ItemExtract(2, ItemExtract(1, strServerName, ","), "="):"/" strServerDn = objRootDSE.Get("defaultNamingContext") strServerPath = "<LDAP://":strServerDn:">" ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Get a list of User LDAP paths ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ strFilter = "(&(objectCategory=person)(objectClass=user))" strAttributes = "DistinguishedName" ; "sAMAccountName,DistinguishedName" Comma delimited list of attribute values to retrieve. ; Construct the LDAP syntax query. strQuery = strServerPath : ";" : strFilter : ";" : strAttributes : ";subtree" objADOCmd.CommandText = strQuery objADOCmd.Properties("Page Size") = 100 objADOCmd.Properties("Timeout") = 30 objADOCmd.Properties("Cache Results") = @FALSE ; Run the query. objADORecordset = objADOCmd.Execute ; Enumerate the resulting recordset. list = "" While !objADORecordset.EOF ; Retrieve values and display. strDN= objADORecordset.Fields("DistinguishedName").value If List == "" Then list = strServerName:strDn Else list = list : @TAB: strServerName:strDn ; Move to the next record in the recordset. objADORecordset.MoveNext EndWhile userLDAPpath = AskItemlist('User list', list, @TAB, @UNSORTED, @SINGLE ) ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Set Home Directory for User using ADSI COM ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objUser = GetObject( userLDAPpath ) strHomeDir = objUser.homeDirectory type = ObjectTypeGet(strHomeDir) If type == "EMPTY" strUser = objUser.sAMAccountName strHomeDirectory = "\\DC\Sample\Sales\" : strUser ; !!! MODIFY TO FIT YOUR NEEDS !!! objUser.homeDirectory = strHomeDirectory objUser.homeDrive = "H:" ; !!! MODIFY TO FIT YOUR NEEDS !!! objUser.SetInfo Pause("Notice", "Users HomeDirectory has been set") ElseIf type == "NULL" Pause("User property not found", "NULL") Else Pause("Users HomeDrive", objUser.homeDrive) EndIf objADORecordset = 0 objADOConn = 0 objADOCmd = 0 objRootDSE = 0 Exit
Article ID: W17553
Filename: Set Home Directory for User.txt
File Created: 2013:10:10:11:26:42
Last Updated: 2013:10:10:11:26:42