在 PowerShell 中,可以透過以下幾種方法查詢使用者的上次登入時間。不同的方法適用於不同的情況,具體取決於你是要查詢本地計算機上的使用者資訊,還是要查詢 Active Directory 中的使用者資訊。

suv789發表於2024-09-03

在 PowerShell 中,可以透過以下幾種方法查詢使用者的上次登入時間。不同的方法適用於不同的情況,具體取決於你是要查詢本地計算機上的使用者資訊,還是要查詢 Active Directory 中的使用者資訊。

1. 查詢本地計算機上的使用者上次登入時間

要查詢本地計算機上使用者的上次登入時間,可以使用 Get-LocalUserGet-WmiObject 結合 Win32_NetworkLoginProfile 類來獲取使用者的登入資訊:

powershellCopy Code
# 獲取所有本地使用者的上次登入時間
Get-WmiObject Win32_NetworkLoginProfile | Select-Object Name, LastLogon

這個命令會列出所有本地使用者的上次登入時間。

2. 查詢 Active Directory 中的使用者上次登入時間

如果你的計算機是域環境中的一部分,你可能需要查詢 Active Directory 中使用者的上次登入時間。為此,你需要安裝並匯入 Active Directory 模組:

powershellCopy Code
# 確保 Active Directory 模組已安裝
Import-Module ActiveDirectory

# 查詢指定使用者的上次登入時間
Get-ADUser -Identity username -Properties LastLogonDate | Select-Object Name, LastLogonDate

替換 username 為你要查詢的使用者的使用者名稱。這個命令會返回使用者的名稱和上次登入的日期。

3. 查詢所有域使用者的上次登入時間

如果你需要查詢所有域使用者的上次登入時間,可以使用以下指令碼:

powershellCopy Code
# 匯入 Active Directory 模組
Import-Module ActiveDirectory

# 查詢所有域使用者的上次登入時間
Get-ADUser -Filter * -Properties LastLogonDate | Select-Object Name, LastLogonDate

這個指令碼會列出所有域使用者及其上次登入時間。

4. 查詢上次登入時間的進一步細化

如果你需要更詳細的資訊,比如包括使用者的 SID、域控制器等,可以進一步擴充套件查詢:

powershellCopy Code
# 匯入 Active Directory 模組
Import-Module ActiveDirectory

# 查詢所有使用者的詳細上次登入時間資訊
Get-ADUser -Filter * -Properties LastLogon, LastLogonTimestamp | Select-Object Name, LastLogon, LastLogonTimestamp

LastLogon 是一個更精確的屬性,但它不是在所有域控制器上同步的。LastLogonTimestamp 是一個更接近於所有域控制器同步的屬性,但它可能不是完全準確的,通常有延遲。

透過這些方法,你可以獲取到使用者的上次登入時間,無論是本地計算機還是 Active Directory 環境中的使用者。

相關文章