Skip to content

Commit f456c99

Browse files
authored
Updates from editor
1 parent c4dfa8c commit f456c99

1 file changed

Lines changed: 18 additions & 18 deletions

File tree

support/windows-server/active-directory/accounts-lastlogontimestamp-future-time.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: Accounts have the lastLogonTimestamp value set to future
3-
description: Helps resolve the issue in which user or computer accounts have the lastLogonTimestamp value set to a future time.
4-
ms.date: 03/05/2025
2+
title: Accounts Have the LastLogonTimestamp Value Set to Future
3+
description: Helps resolve an issue in which user or computer accounts have the lastLogonTimestamp value set to a future time.
4+
ms.date: 03/07/2025
55
manager: dcscontentpm
66
audience: itpro
77
ms.topic: troubleshooting
@@ -12,23 +12,23 @@ ms.custom:
1212
---
1313
# User or computer accounts have the lastLogonTimestamp value set to a future time
1414

15-
This article helps resolve the issue in which user or computer accounts have the lastLogonTimestamp value set to a future time.
15+
This article helps resolve an issue in which user or computer accounts have the lastLogonTimestamp value set to a future time.
1616

17-
You have an Active Directory (AD) domain and use AD queries to look for unused accounts. You query attributes like `pwdLastSet` and `lastLogonTimestamp` to determine which accounts are no longer in use.
17+
You have an Active Directory (AD) domain and use AD queries to look for unused accounts. You query attributes like `pwdLastSet` and `lastLogonTimestamp` to determine which accounts are no longer used.
1818

1919
Although using `lastLogonTimestamp` has its limitations due to Kerberos S4U updating the attribute, you notice that some actively used accounts have the `lastLogonTimestamp` value set to a future time.
2020

21-
## Incorrect time on local DC
21+
## Incorrect time on the local DC
2222

23-
A domain controller (DC) might run with its system time set in the future. In this situation, if a user authenticates with the DC, the DC compares its local time with the time stored on the user account. Then, the DC updates the `lastLogonTimestamp` value as its current time is much newer.
23+
A domain controller (DC) might run with its system time set in the future. In this situation, if a user authenticates with the DC, the DC compares its local time with the time stored in the user account. Then, the DC updates the `lastLogonTimestamp` value as its current time is much more recent.
2424

25-
The time on the DC might be incorrect due to a problem with time synchronization from the virtual machine (VM) host, the Network Time Protocol (NTP) infrastructure, or [Secure Time Seeding (STS)](https://techcommunity.microsoft.com/blog/askds/secure-time-seeding-on-dcs-a-note-from-the-field/4238810). The DC might also revert to the correct time quickly, so you might not catch the problem in your reporting.
25+
The time on the DC might be incorrect due to a time synchronization issue with the virtual machine (VM) host, the Network Time Protocol (NTP) infrastructure, or [Secure Time Seeding (STS)](https://techcommunity.microsoft.com/blog/askds/secure-time-seeding-on-dcs-a-note-from-the-field/4238810). The DC might also revert to the correct time quickly, so you might not catch the problem in your reporting.
2626

27-
As NTP prevents large time-offsets between DCs from being distributed across the domain, incorrect time-stamps might be kept local to one single DC. However, domain members follow their local DC' time, even when the DC detects a time skew during Kerberos requests. This is why Kerberos transactions still work in this situation.
27+
As NTP prevents large time offsets between DCs from being distributed across the domain, incorrect timestamps might be kept local to a single DC. However, domain members follow their local DC's time, even when the DC detects a time skew during Kerberos requests. This is why Kerberos transactions still work in this situation.
2828

2929
## Use the fixupObjectState attribute with LDIFDE to repair the object
3030

31-
For previous versions of Windows, the only approaches to resolve the issue are:
31+
For previous versions of Windows, the approaches to resolve the issue are to:
3232

3333
- Wait until the actual time surpasses the `lastLogonTimestamp` value of the user.
3434
- Ignore the `lastLogonTimestamp` value and use other metrics to identify orphaned accounts.
@@ -39,14 +39,14 @@ In Windows Server 2025, there's a new facility to repair broken objects as speci
3939
> [!NOTE]
4040
> There's functionality to correct missing `sAMAccountType` and `objectCategory` attributes. For more information, see [Will add link when new article releases].
4141
42-
### Step 1: Identify the object name and the globally unique identifier (GUID)
42+
### Step 1: Identify the object name and globally unique identifier (GUID)
4343

4444
For example:
4545

46-
- DN: `cn=brokenuser,ou=bad-users,dc=contoso,dc=com`
46+
- Distinguished name (DN): `cn=brokenuser,ou=bad-users,dc=contoso,dc=com`
4747
- GUID: `cf2b4aca-0e67-47d9-98aa-30a5fe30dc36`
4848

49-
### Step 2: Prepare an LDIFDE import file with the DN string or the GUID-based syntax
49+
### Step 2: Prepare an LDIFDE import file using the DN string or GUID-based syntax
5050

5151
- Use the DN string:
5252

@@ -59,7 +59,7 @@ For example:
5959
```
6060
6161
> [!NOTE]
62-
> The line with only "-" and the empty line are required for a well-formed LDIFDE import file.
62+
> The line with only a hyphen (`-`) and the empty line are required for a well-formed LDIFDE import file.
6363
6464
- Use the GUID-based syntax:
6565
@@ -69,7 +69,7 @@ For example:
6969
7070
So, the expression of `fixupObjectState: cn=brokenuser,ou=bad-users,dc=contoso,dc=com:LastLogonTimestamp` becomes `fixupObjectState: <guid=cf2b4aca-0e67-47d9-98aa-30a5fe30dc36>:LastLogonTimestamp`.
7171
72-
To use this syntax with the LDIFDE import file, the text after the first colon needs to be encoded in Base64 format because of the greater-than (>) and less-than (<) signs:
72+
To use this syntax with the LDIFDE import file, you need to encode the text after the first colon in Base64 format because of the greater-than (>) and less-than (<) signs:
7373
7474
```output
7575
fixupObjectState:: PGd1aWQ9Y2YyYjRhY2EtMGU2Ny00N2Q5LTk4YWEtMzBhNWZlMzBkYzM2PjpMYXN0TG9nb25UaW1lc3RhbXA=
@@ -78,7 +78,7 @@ For example:
7878
> [!NOTE]
7979
> The double colon shows the attribute value is in Base64 format. You can use the [Base64 encoder](https://www.bing.com/search?q=site%3Amicrosoft.com%20base64%20encoder&qs=n&form=QBRE&sp=-1&lq=0&pq=site%3Amicrosoft.com%20base64%20encoder&sc=0-33&sk=&cvid=CE994D44ADFC432CA2D3784CEBB3D934&ghsh=0&ghacc=0&ghpl=) to encode the string directly on the web.
8080
81-
With the Base64 format used, the import file becomes:
81+
After using the Base64 format, the import file becomes:
8282
8383
```output
8484
DN:
@@ -88,7 +88,7 @@ For example:
8888
-
8989
```
9090
91-
### Step 3: Repair the object with LDIFDE
91+
### Step 3: Repair the object using LDIFDE
9292
9393
Sign in as an Enterprise Administrator, and import the LDIFDE import file (for example, **repair-user.txt**) with the following command:
9494
@@ -107,5 +107,5 @@ Then, the object has the `lastLogonTimestamp` attribute value set to the current
107107

108108
For more information about the usage of the `lastLogonTimestamp` attribute, see:
109109

110-
- ["The LastLogonTimeStamp Attribute" "What it was designed for and how it works"](/archive/blogs/askds/the-lastlogontimestamp-attribute-what-it-was-designed-for-and-how-it-works)
110+
- ["The LastLogonTimeStamp Attribute" - "What it was designed for and how it works"](/archive/blogs/askds/the-lastlogontimestamp-attribute-what-it-was-designed-for-and-how-it-works)
111111
- [How LastLogonTimeStamp is Updated with Kerberos S4u2Self](https://techcommunity.microsoft.com/blog/coreinfrastructureandsecurityblog/how-lastlogontimestamp-is-updated-with-kerberos-s4u2self/257135)

0 commit comments

Comments
 (0)