# Returns the directory path of the specified user, exits script if user path can't be found function GetUserDirectory { param ( $userName, $fileName = "", $exitIfPathNotFound = $true ) try { if (-not (CheckIfUserExists -userName $userName) -and $userName -ne "*") { Write-Error "User $userName does not exist on this system" AwaitKeyToExit } $userDirectoryExists = Test-Path "$env:SystemDrive\Users\$userName" $userPath = "$env:SystemDrive\Users\$userName\$fileName" if ((Test-Path $userPath) -or ($userDirectoryExists -and (-not $exitIfPathNotFound))) { return $userPath } $userDirectoryExists = Test-Path ($env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$userName") $userPath = $env:USERPROFILE -Replace ('\\' + $env:USERNAME + '$'), "\$userName\$fileName" if ((Test-Path $userPath) -or ($userDirectoryExists -and (-not $exitIfPathNotFound))) { return $userPath } } catch { Write-Error "Something went wrong when trying to find the user directory path for user $userName. Please ensure the user exists on this system" AwaitKeyToExit } Write-Error "Unable to find user directory path for user $userName" AwaitKeyToExit }