Fix: User profile AD import job not running in SharePoint

Teodor Nechita
by Teodor Nechita
Author
0 Comments
Download PDF
Affiliate Disclosure

sharepoint import users

In an attempt to incorporate as many apps within the Microsoft Office Suite that are relevant to work environments, Microsoft decided to also incorporate SharePoint.

This versatile collaborative tool can be used as a document management and storage system, but the product is highly configurable and usage varies substantially among organizations.

Ad

However, software is software, and SharePoint has its own fair share of bugs and kinks. One good example is a bug users have been reporting where the Active Directory Import timer job does not run:

I created User Profile service application in SharePoint 2016 and created synchronization connection to import users from AD. Then started full synchronization but it is not importing any user from AD. “Profile Synchronization Status” is always in Idle mode.

Since SharePoint relies on organizational work, not being able to import new members can severely affect the program’s functionality. That is why we’ve decided to put together this list so that you can be guided in a step-by-step manner to a viable solution.

How do I fix the SharePoint user profile import error?

All the servers in the farm that are running the User Profile Service are also not allowed to run timer jobs of the Service Job type.

In our case, importing a user profile is also a service job and it can only run on servers running the User Profile service. This means that there are no servers in the farm that are allowed to run the job.

Change your server’s properties

  1. Press Start
  2. Type in and launch PowerShell with administrative rights
  3. Copy and paste these lines and run them
    • $SIs = Get-SPServiceInstance | ?{$_.typename -match “profile service”}
    • $Farm = Get-SPFarm
    • $FarmTimers = $Farm.TimerService.Instances
    • $1onLine = $false
    • foreach ($SI in $SIs)
    • {If($SI.Status -eq “Online”)
    • {$1onLine = $true
    • foreach ($FT in $FarmTimers)
    • {if($SI.Server.Address.ToString() -eq $FT.Server.Name.ToString())
    • {if($FT.AllowServiceJobs -eq $false)
    • {write-host -ForegroundColor Red “Service jobs are NOT enabled on UPS server” $FT.Server.Name.ToString()
    • write-host -ForegroundColor green “Enabling service jobs on server: ” $FT.Server.Name.ToString()
    • $FT.AllowServiceJobs = $true
    • $FT.Update()
    • }
    • else{write-host -ForegroundColor green “Service jobs already enabled on server: ” $FT.Server.Name.ToString()}
    • }
    • }
    • }
    • }
    • If($1onLine -eq $false ){write-host -ForegroundColor red “No instances of User Profile Service online in this farm!”}

powershell fix sharepoint

The PowerShell command written above will l check to make sure there is at least one User Profile Service instance in the farm. Additionally, this sets the AllowServiceJobs property to true for the timer instance on those servers.

If modifying server properties seems too complicated, another solution would be starting the User Profile Service on a server where service jobs are allowed.

By following these steps, you should no longer have any issues with import jobs using SharePoint‘s Active Directory feature.

If you’re aware of other ways to solve this problem, don’t hesitate to share them with us in the comments section below.

Ad