PowerShell'de Parola Son Kullanma Tarihini Alma [2 Yol]
Get-ADUser Cmdlet'ini kullanma
Active Directory'deki belirli bir kullanıcının şifre son kullanma tarihini almak için Get-ADUser cmdlet'ini kullanın.
Get-ADUser Cmdlet'ini kullanın:
Get-ADUser -Identity Administrator
-Properties "SamAccountName", "msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "SamAccountName",
@{Name="PasswordExpiryDate";Expression={[DateTime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}ÇIKTI:
SamAccountName PasswordExpiryDate
-------------- ------------------
Administrator 8/27/2023 4:35:46 PMGet-ADUser cmdlet'i aktif bir dizinden bir veya daha fazla kullanıcıyı almak için kullanılır. Yalnızca SamAccountName ve msDS-UserPasswordExpiryTimeComputed özelliklerine sahip Administrator kullanıcısını almak için -Identity parametresiyle kullandık. Bu özellikleri -Property parametresini kullanarak belirttik.
SamAccountName ve Get-ADUser cmdlet'inden alındı) Select-Object cmdlet'ine aktardık. >PasswordExipryDate özellikleri. Get-ADUser kullanarak msDS-UserPasswordExpiryTimeComputed'u alırken PasswordExpiryDate özelliği nereden geldi?
Adı PasswordExpiryDate olacak ve değeri msDS-UserPasswordExpiryTimeComputed özelliği kullanılarak hesaplanacak hesaplanmış/özel bir özellik oluşturmak amacıyla özel PowerShell nesnesini tanımlamak için bir HashTable kullandık.
Hesaplanan bir özellik oluşturulurken ifade, PasswordExpiryDate özelliğinin değerini hesapladı. msDS-UserPasswordExpiryTimeComputed'u bir DateTime nesnesine dönüştürmek için DateTime sınıfının FromFileTime() yöntemini kullandı.
Bunu yapmanın nedeni çıktının anlaşılmasını kolaylaştırmaktı. HashTable'da noktalı virgül ayırıcı olarak kullanıldı. Kullanmak istemiyorsanız klavyeden Enter tuşuna basarak Ad ve İfade'yi ayrı satırlarda tanımlayın.
Bir Active Directory'deki tüm kullanıcılar için şifre son kullanma tarihini almak için Get-ADUser cmdlet'ini kullanın.
Get-ADUser Cmdlet'ini kullanın:
Get-ADUser -Filter {Enabled -eq $True -and PasswordNeverExpires -eq $False}
-Properties "SamAccountName", "msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "SamAccountName",
@{Name="PasswordExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}ÇIKTI:
SamAccountName PasswordExpiryDate
-------------- ------------------
Administrator 8/27/2023 4:35:46 PMBu örnek bir öncekine benziyor ancak belirtilen koşulları kullanarak aktif dizindeki tüm kullanıcıların son kullanma tarihini aldık. Burada, yalnızca Enabled ve PasswordNeverExpires özellikleri $True-Filter parametresini kullandık > ve $False, sırasıyla. Eşitliği belirlemek için -eq'yi kullandık, -and ise mantıksal bir AND operatörüydü; bu, her iki koşulun da doğru olması durumunda koşullu ifadeyi doğru yapar.
Bizim durumumuzda koşullar yalnızca Yönetici kullanıcısı için karşılandı, dolayısıyla şifrenin son kullanma tarihini aldık.
Sıralanan çıktıyı bir CSV dosyasına aktarmak istiyorsanız aşağıdaki komut dosyasını kullanın.
Get-ADUser Cmdlet'ini kullanın:
Get-ADUser -Filter {Enabled -eq $True -and PasswordNeverExpires -eq $False}
-Properties "SamAccountName", "msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "SamAccountName",
@{Name="PasswordExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}|
Sort-Object "PasswordExpiryDate" | Out-File C:\PasswordExpiryDates.csvÇIKTI: PasswordExpiryDates.csv'nin içeriği:
SamAccountName PasswordExpiryDate
-------------- ------------------
Administrator 8/27/2023 4:35:46 PMBu kod pasajı, iki ek cmdlet'le öncekinin aynısıdır. Alınan girişi PasswordExpiryDate'e göre sıralamak için Sort-Object cmdlet'ini kullandık ve onu yazan Out-File cmdlet'ine aktardık. belirtilen dosyaya. Bizim durumumuzda bu PasswordExpiryDates.csv idi.
Sort-Objectvarsayılan olarak artan düzende sıralar. Azalan düzende sıralamak için-Descendingparametresini kullanın.
net user Komutunu Kullanma
Aktif dizindeki şifrenin son kullanma tarihini almak için net user komutunu kullanın. Genellikle bu komut, belirli bir kullanıcının şifre son kullanma tarihini hızlı bir şekilde almak istediğinizde kullanılır.
Net kullanıcı Komutunu kullanın:
net user Administrator /domain | find "Password expires"ÇIKTI:
Password expires 8/27/2023 4:35:46 PMAşağıda başka bir örnek alalım.
Net kullanıcı Komutunu kullanın:
net user john.powell /domain | find "Password expires"ÇIKTI:
Password expires Never
Yönetici ve john.powell kısımlarını kullanıcı adınızla değiştirmeyi unutmayın.
Bunların hepsi PowerShell'de parolanın son kullanma tarihini öğrenmekle ilgilidir.
