Find AD User’s Last Logon Time Using PowerShell

How to find AD users last logon info using PowerShell

The motive of this activity is to figure out whether there are accounts that are still enabled, but has not been logged into the AD domain for months (or even years in some cases). There might be test accounts, staff on long leave etc in the mix and hence this exercise always output data that need to be acted on.

Staff on long leave surely needs to be disabled, the same goes for accounts that belonged to the staff who does not work in the organization anymore.

Even though it is quite easy to construct a one-liner that can give us this information using PowerShell, we need to be careful about which attribute we are basing our query on and what the differences are.

There are number of ways in which we can find the last date and time someone logged into the domain – you might be querying for a single user, a subset of users or against the entire domain. Let’s tackle each case one by one.

How to find last logon time for a single user

You can get this information using the Active Directory Users and Computers snap-in and PowerShell.

Follow the steps below to find the info using the graphical tool.

Launch Active Directory Users and Computers.

Click on View tab and make sure that Advanced features is turned on.

Advanced features in AD Users and Computers

Navigate to the OU where the user account is and double click on the account to open up the properties page. The Attribute Editor tab is not visible if you find the user using the search option and double click on the account.

Look for the attribute LastLogon and LastLogonTimeStamp. These attributes will give you the necessary information. Why are we looking at two attributes for the same info you might ask.

Lastlogin time AD user GUI

Difference between LastLogon, LastLogonDate and LastLogonTimeStamp

A bit of theory – LastLogon information is local to the domain controller you are querying against. So if a user was last authenticated by DC01, this server will have the correct LastLogon info, whereas DC02 will have incorrect info or no info at all. LastLogon info is NOT replicated to other domain controllers. Hence, LastLogon is good if you are a small organization and only have one or two domain controllers.

If you are a large organization, you are better off using the LastLogonDate as this info gets replicated to all domain controllers. But (there is always a but), the info is replicated only if the ‘new’ value is older than 14 days compared to the previous value (not sure as to why it is this way!).

There is a third attribute LastLogonTimeStamp, which is a replica of the LastLogonDate, however, the output is not in a human readable date format. Also, this timestamp attribute is not just used for the logins, but rather the last time the account accessed something on the network – like connecting to the VPN etc .Check the three attributes info in the screenshot below.

Three last logon attributes in AD PS

To summarize, use LastLogon if you have have a couple of domain controllers and LastLogonDate if you are a bigger shop.

Find Last Logon Info For Single User Using PowerShell

Now that we know how to get the info using ADUC, run the command below to get the info using PowerShell.

If you are adamant that you want to use the non-human readable LastLogon attribute, you can use the command below to convert the info into something more meaningful.

Find Lastlogon info using PowerShell for AD user

Find Last Logon Info For All Users Using PowerShell

Run the command below to get the last login information for all users in the AD domain.

If the user accounts have never logged into the domain, the LastLogonDate will be blank.

If you use the command below, you will have 1/1/1601 against users who have never logged into the domain.

Find Lastlogon info for all users using PowerShell

You can use the export-csv parameter to get the information to play with in Excel.

Find Last Logon Info For All Enabled Users Using PowerShell

If you want to filter the output just to the user accounts thatare enabled, run the command below.

You can use the export-csv parameter to get the information out to a file.

Find Users Who Have Not Logged In The Last 90 Days

A commonly used task is to find the AD user accounts which has not been logged into the domain in the last x number of months, say 3 months.

Run the command below to find users who haven’t logged in the last 90 days. You can vary the number of days in the command based on the output required.

Export the info using the block of commands below.

Find and Disable User Accounts Not Logged In The Last 3 Months

You can find the info about which accounts have not logged into the domain in the last 3 months and disable them in one go. Use the command below for this task.

Please let me know if you have any questions in the comments section.

Other Popular Articles

Promote Windows 2025 To Domain Controller

Promote Windows Server 2025 To Domain Controller

Force Ping To Respond With An IPv4 Address

Force Ping To Respond With IPv4 Address

How To Fix GetADGroupMember Size Limit Exceeded Error

Get-ADGroupMember – The size limit for this request was exceeded error

  1. Great web site you’ve got here.. It’s hard to find quality writing like yours nowadays.
    I really appreciate people like you! Take care!!


Leave a Comment

Disable Windows Copilot Using Intune

Windows Copilot is Microsoft’s take on making life easier for Windows users using the power of AI. This article explains how to disable the feature using Intune, if your organization is not ready yet to walk into the AI world.

Disable Windows Copilot Using Intune

We need to create a Configuration Profile for Windows devices in the Intune portal to disable Windows Copilot. Below are the steps that we need to create the profile.

Launch the Intune Portal and login as a Global Admin or Intune Admin.

Navigate to Devices -> Windows -> Configuration Profiles.

Windows Configuration Profile Intune

Click on Create -> New Policy.

Select Windows 10 & later as the platform and Settings Catalog as the profile type & click on the Create button.

Settings Catalog Intune CoPilot

Give the policy a meaningful name & description and click Next.

Policy Name Disable CoPilot

Within the configuration settings, click on the Add Settings option.

Add Settings Disable CoPilot

Search for ‘copilot’, Windows AI will come up as the category. Click on Windows AI and the Turn off Copilot in Windows (User) setting will come up. Check the box and click Next.

Turn off CoPilot Setting Intune
Turn off CoPilot Setting Intune Summary 1

Specify scope tags if required and click Next.

Select tags CoPilot Intune

Select who this policy should apply to in the Assignments section. I have selected to add all users. If you want to test the setting, you can create a test group and select that group here.

Similarly, you can also exclude certain group from disabling AI (say IT team) if required.

Add all users disable copilot intune

A summary of selected settings will be displayed. Click on the Create button to setup the policy to disable Windows Copilot.

Create configuration policy disable CoPilot Intune 1

Wait for the replication to complete in the cloud backend and login to your machine. Your chatty Copilot should now be disabled.

Disable Windows Copilot On Windows 11 Pro

Follow the steps below to disable Copilot on a personal Windows 11 Pro machine (say your own laptop).

Search for ‘group’ in Windows 11 and click on Edit Group Policy option.

Group Policy Windows 11 Disable Copilot

Navigate to User Configuration -> Administrative Templates -> Windows Components -> Windows Copilot.

Windows Copilot GPO setting

Double click on Turn off Windows Copilot setting on the right pane.

Select Enabled and click OK.

Turn off copilot gpo Windows 11 Pro 1

Close the Group Policy Editor. This will disable Windows Copilot on a Windows 11 Pro machine.


We have learned to disable Windows Copilot using Intune and Group Policy on Windows 11 machines.

Please let me know if you have any questions in the comments section.

Promote Windows Server 2025 To Domain Controller

Domain controllers are the backbone of any Active Directory domains in the Microsoft world. Any Windows server can be promoted to be a domain controller. In this article, we will go through the steps of promoting a Windows 2025 Server to be a domain controller.

Windows Server 2025

The latest version of the server operating system has been named Windows Server 2025. You can start with a 2025 Server & create an AD domain or you can promote a member server that is already a part of a domain.

The Windows Server 2025 needs to be installed on a machine before it can be promoted to be a domain controller.

Promote Windows Server 2025 To Domain Controller

If you have been working with Windows servers long enough, everything starts with the Server Manager app. Promoting a server to a domain controller is no different.

Launch ‘Server Manager’ & click on Add roles and features.

Windows 2025 Server Manager

You land on the summary page that explains what is required to run this wizard successfully. Click Next.

Windows Server 2025 Add Remove Roles

Select Role-based or Feature-based installation and click Next.

Windows Server 2025 Role Based Install

Select the server that needs to be promoted and click Next.

Windows Server 2025 Destination Server

Select Active Directory Domain Services (second option) and click on Add Features.

Windows Server 2025 AD Domain Services

Go with the default options for features that need to be installed.

Windows Server 2025 AD Domain Services Features

A summary of AD DS pops up next, click next to continue.

Windows Server 2025 AD DS

Select Restart the server automatically if required and click Install.

Windows Server 2025 AD Restart Server

You get to keep an eye on the progress of the installation.

Windows Server 2025 AD Install Progress

Once the role has been installed, you will find an exclamation mark on the top right corner of the Server Manager. Click on that and select Promote this server to be a domain controller.

Windows Server 2025 AD Install Continue

You get an error straight away (which you have never seen before) – Error determining whether the target server is already a domain controller. Role change is in progress or this computer needs a restart.

Windows Server 2025 Domain Controller Setup Error

We never needed to restart the server after installing the role in the DC promotion process. Given that it is an insider build of Server 2025, I am hoping that this will get fixed before the public release.

Restart the server, launch Server Manager and click on the Promote this server to be a domain controller option again.

Windows Server 2025 AD Install Continue 1

I am setting up a brand new AD forest and hence I select the third option (Add a new forest) and enter my root domain name.

Windows Server 2025 Add a forest

Next window brings the option to set your forest & domain functional level and the DSRM password. In the insider build, it shows what looks like a variable (the Windows server version on which the you are working).

Windows Server 2025 Forest Functional Level

You can leave the default options in the DNS options wizard and click next.

Windows Server 2025 DNS Options

Enter the netbios name of the domain in the next window and click next.

Windows Server 2025 Netbios Domain Name

You can stick with the default paths for the AD database, log & sysvol folder or pick a location of your choice.

Windows Server 2025 AD Paths

Review the selections that you have made so far and click next.

Windows Server 2025 Options Review

Wait for the green check mark on the prerequisites page and click next.

Windows Server 2025 Pre reqs Check

Click Install in the final window & wait for the magic to happen. Once the machine gets restarted (which it will do automatically), you will have a brand new domain controller based on Windows Server 2025.

Windows Server 2025 AD Snap In


Promoting a Server 2025 to a domain controller follows pretty much the same steps as previous operating systems. The Insider build has few errors that needs to be fixed, but hey, it is an insider build!

Please let me know if you have any questions in the comments section.

Install Windows Server 2025 – Full Guide

Microsoft has released an insider preview of it’s next server operating system named Windows Server 2025. We will have a look at the installation steps involved in setting up a 2025 server.

Windows Server 2025

Microsoft has gone with the same look and feel of Windows 11 operating system in it’s current server operating system – Windows Server 2025. As the product is in insider preview, there might be slight changes before it hits the public shelves.

It is refreshing to see a ‘modern’ feel in the installation process of a server operating system. Gone are the days where the installation of a consumer based OS felt much better compared to it’s server counterpart.

Installing Windows Server 2025

Let’s take a look at the steps involved in setting up a Windows Server 2025 machine. First step is to download the ISO from the Windows Insider portal.

Next step is to boot the virtual / physical machine from the ISO which will kick off the installation of Server 2025.

First option to select is the language settings. Pick the one based which relates to you and click next.

Windows Server 2025 language settings

Select the keyboard settings in the next screen and click next.

Windows Server 2025 keyboard

You get the option to select whether you want to Install Windows Server or Repair the installation. The bottom left corner also has the option to go to the previous version of setup.

Windows Server 2025 setup option

You are asked to enter the product key, which is available in the Windows Insider portal.

Windows Server 2025 product key

Next option to choose is the type of image you want to install – Windows 2025 core or full blown desktop experience.

Windows Server 2025 Desktop

You need to agree to the licensing terms to move forward in the next step.

Windows Server 2025 Agreement License

Select the partition on which the server OS should be installed and click next. You also have the option to slice the partitions the way you see fit in the same screen.

Windows Server 2025 Disk Partitions

The Ready to Install window comes up, click the install button.

Windows Server 2025 Install 1

Installation of Server 2025 is underway and you get to see the progress.

Windows Server 2025 Install Progress

Once the installation is complete, you need to enter an administrator password of your choice to finalize the setup.

Windows Server 2025 Password

And there you go! You see a Windows 11 login screen staring at you ;-)

Windows Server 2025 Login Screen

After logging in, you get to set the options around sending diagnostic data to Microsoft, which I always set as ‘required only’.

Windows Server 2025 Diagnostic Data

The Windows Server 2025 desktop looks similar, doesn’t it? ;-)

Windows Server 2025 Desktop Feel scaled

Now that the server is up and running, you can promote it to be a domain controller.


The Windows Server 2025 has the same look and feel as a Windows 11 operating system. The installation options also provide that modern ‘feel’ and makes it a bit soothing to the eyes!

Please let me know if you have any questions in the comments section.