species3618 Posted June 26, 2018 Posted June 26, 2018 I'm using a script to create new users and everything is working fine however when I try and log on with a user that has been created with this script it gives me the following error: [color=#303336][font=inherit]A [/font][/color][color=#2B91AF][font=inherit]Problem[/font][/color][color=#303336][font=inherit] has occurred and your network home directory is not available[/font][/color][color=#303336][font=inherit].[/font][/color] [color=#303336][font=inherit] [/font][/color][color=#2B91AF][font=inherit]This[/font][/color][color=#303336][font=inherit] may be because a network file server is offline[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit] [/font][/color][color=#2B91AF][font=inherit]You[/font][/color][color=#303336][font=inherit] have been logged on with a temporary home drive [/font][/color][color=#303336][font=inherit]([/font][/color][color=#303336][font=inherit]H[/font][/color][color=#303336][font=inherit][/font][/color][color=#303336][font=inherit] which may be shared [/font][/color][color=#303336][font=inherit]with other users[/font][/color][color=#303336][font=inherit].[/font][/color] The script creates the user and applies the correct permissions from what I can tell. Here's the script: [color=#858C93][font=inherit]# Import active directory module for running AD cmdlets[/font][/color][color=#303336][font=inherit] [/font][/color][color=#2B91AF][font=inherit]Import[/font][/color][color=#303336][font=inherit]-[/font][/color][color=#2B91AF][font=inherit]Module[/font][/color][color=#303336][font=inherit] activedirectory [/font][/color][color=#858C93][font=inherit]#Store the data from ADUsers.csv in the $ADUsers variable[/font][/color][color=#303336][font=inherit] $ADUsers [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#2B91AF][font=inherit]Import[/font][/color][color=#303336][font=inherit]-[/font][/color][color=#303336][font=inherit]csv [/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]\Create_Staff_Accounts[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]csv [/font][/color][color=#858C93][font=inherit]#Loop through each row containing user details in the CSV file [/font][/color][color=#303336][font=inherit] foreach [/font][/color][color=#303336][font=inherit]([/font][/color][color=#303336][font=inherit]$User [/font][/color][color=#101094][font=inherit]in[/font][/color][color=#303336][font=inherit] $ADUsers[/font][/color][color=#303336][font=inherit])[/font][/color][color=#303336][font=inherit] [/font][/color][color=#303336][font=inherit]{[/font][/color][color=#303336][font=inherit] [/font][/color][color=#858C93][font=inherit]#Read user data from each field in each row and assign the data to a variable as below[/font][/color][color=#303336][font=inherit] $Username [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#303336][font=inherit] $User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]username $Password [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#303336][font=inherit] $User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]password $Firstname [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#303336][font=inherit] $User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]firstname $Lastname [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#303336][font=inherit] $User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]lastname $OU [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#303336][font=inherit] $User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]ou [/font][/color][color=#858C93][font=inherit]#This field refers to the OU the user account is to be created in[/font][/color][color=#303336][font=inherit] $group [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#303336][font=inherit] $User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]group $title [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#303336][font=inherit] $User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]title $start [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#303336][font=inherit] $User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]start $Homedrive [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#7D2727][font=inherit]"H:"[/font][/color][color=#303336][font=inherit] $UserRoot [/font][/color][color=#303336][font=inherit]=[/font][/color][color=#7D2727][font=inherit]"\\servername\st$\" $HomeDirectory = $UserRoot + $Username #Check to see if the user already exists in AD if (Get-ADUser -F {SamAccountName -eq $Username}) { #If user does exist, give a warning Write-Warning "[/font][/color][color=#303336][font=inherit]A user account with username $Username already exists [/font][/color][color=#101094][font=inherit]in[/font][/color][color=#2B91AF][font=inherit]Active[/font][/color][color=#2B91AF][font=inherit]Directory[/font][/color][color=#303336][font=inherit].[/font][/color][color=#7D2727][font=inherit]" } else { #User does not exist then proceed to create the new user account #Account will be created in the OU provided by the $OU variable read from the CSV file New-ADUser ` -SamAccountName $Username ` -Name "[/font][/color][color=#303336][font=inherit]$Firstname $Lastname[/font][/color][color=#7D2727][font=inherit]" ` -UserPrincipalName "[/font][/color][color=#303336][font=inherit]$[/font][/color][color=#303336][font=inherit]([/font][/color][color=#303336][font=inherit]$username[/font][/color][color=#303336][font=inherit])[/font][/color][color=#7D2727][font=inherit]@domain[/font][/color][color=#303336][font=inherit].[/font][/color][color=#101094][font=inherit]local[/font][/color][color=#7D2727][font=inherit]" ` -GivenName $Firstname ` -Surname $Lastname ` -Enabled $True ` -DisplayName "[/font][/color][color=#303336][font=inherit]$Firstname $Lastname[/font][/color][color=#7D2727][font=inherit]" ` -Path $OU ` -AccountPassword (convertto-securestring $Password -AsPlainText -Force) ` -Homedrive $Homedrive ` -HomeDirectory $HomeDirectory ` -ScriptPath "[/font][/color][color=#303336][font=inherit]logonscript[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]bat[/font][/color][color=#7D2727][font=inherit]" ` -Description "[/font][/color][color=#2B91AF][font=inherit]Staff[/font][/color][color=#2B91AF][font=inherit]Account[/font][/color][color=#303336][font=inherit]:[/font][/color][color=#303336][font=inherit] $[/font][/color][color=#303336][font=inherit]([/font][/color][color=#303336][font=inherit]$title[/font][/color][color=#303336][font=inherit])[/font][/color][color=#303336][font=inherit] from[/font][/color][color=#303336][font=inherit]:[/font][/color][color=#303336][font=inherit] $[/font][/color][color=#303336][font=inherit]([/font][/color][color=#303336][font=inherit]$start[/font][/color][color=#303336][font=inherit])[/font][/color][color=#7D2727][font=inherit]" #-ChangePasswordAtLogon $True ` #Now create the home folder and set modify permissions Add-ADGroupMember -Identity $group -Members $Username Add-ADGroupMember -Identity groupname -Members $Username Add-ADGroupMember -Identity groupname -Members $Username New-Item -ItemType Directory -Path "[/font][/color][color=#303336][font=inherit]\\servername\st$\$[/font][/color][color=#303336][font=inherit]([/font][/color][color=#303336][font=inherit]$User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]username[/font][/color][color=#303336][font=inherit])[/font][/color][color=#7D2727][font=inherit]" $path = Get-Item -Path "[/font][/color][color=#303336][font=inherit]\\servername\st$\$[/font][/color][color=#303336][font=inherit]([/font][/color][color=#303336][font=inherit]$User[/font][/color][color=#303336][font=inherit].[/font][/color][color=#303336][font=inherit]username[/font][/color][color=#303336][font=inherit])[/font][/color][color=#7D2727][font=inherit]" $acl = (Get-Item $path).GetAccessControl('Access') $AR = New-Object System.Security.AccessControl.FileSystemAccessRule($Username, 'Modify', 'ContainerInherit,ObjectInherit', 'None', 'Allow') $acl.SetAccessRule($AR) Set-Acl -Path $Path -AclObject $acl } } [/font][/color] Thank you for your help and support.
Katy Posted June 26, 2018 Posted June 26, 2018 Is the correct path showing in the User's properties inside AD Users & Computers? Does the folder exist on the server with the permissions your script has applied? In the second half of the script you could also just use your $HomeDirectory variable rather than concatenating the username and the server path again.
species3618 Posted June 27, 2018 Author Posted June 27, 2018 Is the correct path showing in the User's properties inside AD Users & Computers? Does the folder exist on the server with the permissions your script has applied? In the second half of the script you could also just use your $HomeDirectory variable rather than concatenating the username and the server path again. Yeh, in AD I can see the correct path in the "connect" part, the folder is also created and the permissions are correct.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now