Microsoft has added some additional user reporting around dormant user accounts in D365FO PU21 8.1. This report can be found in System Administration -> Security -> Dormant user security accounts.
You then can provide some inputs for the report:
- Number of days since last login
- Account Type
- All
- Claims User
- Active Directory User
- Include users having this account status
- All
- Enabled
- Not Enabled
The report output will look similar to the one below.
The report columns include:
- User ID, name, and email
- Default company
- User enabled
- Account created date and time
- Last login date and time
- Days since last login time
- Personnel number
This report can help determine which users are not logging into D365FO and when their last login was to see if they could potentially be removed, save a user license, and therefore save your organization money.
This brilliant report “Dormant user security accounts” is found under the Module “System administration”. But to use it you have to activate the “Public Sector” license configuration.
The URL for this report is: …./?mi=Output%3APSNSysUserLogReport
Without the Public Sector configuration you will get this error message:
Access Denied: You do not have sufficient permissions to open the menu item psnsysuserlogreport. Please contact your system administrator.
If you would like Microsoft to change the license key for this menu item you can vote here:
https://experience.dynamics.com/ideas/idea/?ideaid=2af45453-0bda-e911-b3b9-0003ff68b7e1
Great report! However, I wonder if there’s a way to know the “User account creation date and time” as it shows the column empty. It would be helpful to know from where the report gets that information.
Lizzie,
My guess is that the information is that the User account creation date and time column would be pulled from the UserInfo table. This column would only be filled if the CreatedBy parameter is enabled for this table.
Edit:
I did some more digging on this and this report is actually being populated by logic in the PSNSysUserLogReportDP class, there appears to be a bug in the code as the CreatedDateTime field is not set on the report if the user has logged in before (it does get set if the user has never logged in before).
Thank you so much for the information Alex!
That’s a very unfortunate bug, we need to know when the user was created for auditing purposes.
I looked in the UserInfo table and there’s no information about the creation date and time, I haven’t been able to find another report or table in which we could have this information. I think we’re going to submit a case to Microsoft.
Lizzie,
You would have to create a table extension and enable the CreatedBy logic for the table, this would then track when a record is inserted into the UserInfo table which would be when the user was created.
This setting is off by default, so would need to be enabled for this feature to operate.
Note: This would be a ‘from this time forward’ setting, there is no way to go back in time and get when a user was created.
Got it! We are going to try it this way. Thank you so much for the suggestion, Alex!
Hi Alex
Can we create table extension of system documentation table and enable the property of created date time
Sachin,
You cannot create extensions on any elements in the System Documentation area in the AOT.
I don’t think so it is possible to enable created by and Created date time through extension as UserInfo table is system documentation table
This looks like a great report! As we have not activated the Public sector license configuration just yet (will do so soon), I have not had a chance to review the report on my own. One question: does the report also capture users who have never been logged in? How are they distinct from other users in the report?
Pontus,
This report does not differentiate between users who haven’t logged in for a specific period of time and those that have never logged in. You would have to write a custom report to left join the UserInfo table against the SysUserLog table. If the left join fails then the user has never logged in.
Thank you, Alex!