PowerShell ve ADUC ile Active Directory Kullanıcı Parolasını Sıfırlama
Bu yazıda, Active Directory Kullanıcıları ve Bilgisayarları grafik ek bileşenini (ADUC) kullanarak, komut satırından veya Ayarla -ADAccountPassword PowerShell cmdlet'i.
Active Directory Konsolu (Dsa.msc) ile Kullanıcı Parolasını Sıfırlayın
kullanabilirsiniz
dsa.msc(Active Directory Kullanıcıları ve Bilgisayarları - ADUC) bir Active Directory kullanıcısının parolasını sıfırlamak için grafiksel ek bileşen. ADUC konsolunu açın ve parolasını değiştirmek istediğiniz kullanıcı hesabını arayın. Üzerine sağ tıklayın ve Şifreyi sıfırla'yı seçin.
Yeni bir parola girin (iki kez). Burada iki seçeneği etkinleştirebilirsiniz:
-
Kullanıcı bir sonraki oturum açışında parolayı değiştirmelidir - Kullanıcının bir sonraki oturum açışında kendisine yeni bir parola belirlemesini istiyorsanız;
Kullanıcının hesabının kilidini aç - kullanıcının kilidini açmak istiyorsanız bu seçeneği etkinleştirin (hesap, yanlış bir parolayla birden fazla oturum açma girişimi nedeniyle AD güvenlik politikası tarafından kilitlendiyse).
Bu, bir etki alanı kullanıcısının parolasını sıfırlamanın en kolay ve en sezgisel yoludur.
Ayrıca AD öznitelik düzenleyici sekmesindeki kullanıcı özelliklerinde, son şifre değişikliği tarihi hakkında bilgi bulabilirsiniz. Bu değer, pwdLastSet kullanıcı özelliğinde saklanır.
Bir kullanıcı parolasını sıfırlamak için, hesabınızın AD etki alanında uygun ayrıcalıklara sahip olması gerekir. Varsayılan olarak, yönetici olmayan AD kullanıcıları diğer hesapların parolalarını sıfırlayamaz ve yalnızca yerleşik Domain Admins ve Hesap Operatörleri gruplarının üyeleri bu haklara sahiptir.
Active Directory yetkilendirmesini kullanarak diğer kullanıcı gruplarına belirli kuruluş birimlerinde kullanıcı parolalarını sıfırlama izni verebilirsiniz. Bağlantı, parolaları sıfırlamak ve kullanıcıların kilidini açmak için izinleri Yardım Masası grubuna devretmeye ilişkin bir örnek sağlar.
Hesabınızın belirli bir AD kullanıcısının parolasını sıfırlama izinlerine sahip olup olmadığını kontrol etmek için özelliklerini açın, Güvenlik sekmesine gidin -> Gelişmiş -> Etkin Erişim -> hesabınızın adını belirtin -> sahip olduğunuzdan emin olun < güçlü>Şifreyi Sıfırla izni.
PowerShell ile Active Directory'de Kullanıcı Parolası Nasıl Sıfırlanır?
PowerShell kullanarak bir Active Directory kullanıcısının parolasını sıfırlamak için Set-ADAccountPassword cmdlet'lerini kullanabilirsiniz. Bu cmdlet, Windows için Active Directory PowerShell modülünün bir parçasıdır (masaüstü Windows sürümlerinde RSAT'ın bir parçasıdır). Bu modülü PowerShell oturumunuza aktarın:
Import-module ActiveDirectoryjliebert kullanıcısı için bir parola sıfırlamak ve yeni bir parola myP@ssw0rd112 ayarlamak için şu komutu çalıştırın:
Set-ADAccountPassword jliebert -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “myP@ssw0rd112” -Force -Verbose) -PassThruKullanıcılar için otomatik olarak karmaşık parolalar oluşturmak için PowerShell ile Güçlü Rastgele Parolalar Oluşturma makalesinde açıklanan GeneratePassword yöntemini kullanabilirsiniz.
Varsayılan olarak, cmdlet nesneyi döndürür ve konsolda hiçbir şey göstermez. AD'deki kullanıcı nesnesi hakkındaki bilgileri görüntülemek için -PassThru parametresini kullanabilirsiniz.
Kullanıcı adı olarak sAMAccountName (bizim durumumuzda olduğu gibi), objectGUID, kullanıcının SID'si veya bir DN (Ayırt Edici Ad, örn., CN=jliebert,OU=Users,DC=a-d,DC=com) belirtebilirsiniz.
Bir kullanıcı şifresini değiştirirken -Sıfırla parametresini belirtmezseniz, eski ve yeni hesap şifrelerini manuel olarak girmelisiniz.
Not. Set-ADAccountPassword cmdlet'i kullanılarak kullanıcı parolası sıfırlanırken bir hata oluşursa:
Set-ADAccountPassword: The password does not meet the length, complexity, or history requirement of the domain.Bu, kullanıcının yeni şifresinin, hesabın tabi olduğu etki alanı şifre politikasında veya ayrıntılı şifre politikasında tanımlanan bazı karmaşıklık, uzunluk vb. gereksinimleri olduğu anlamına gelir.
Bir etki alanı kullanıcısı için ortaya çıkan parola ilkesi ayarlarını şu şekilde alabilirsiniz:
Get-ADUserResultantPasswordPolicy -Identity jliebertPowerShell komut geçmişini etkinleştirdiyseniz ve parolaların PoSh konsolunda düz metin olarak görüntülenmesini istemiyorsanız, yeni bir kullanıcı hesabı oluştururken yaptığınız gibi parolayı güvenli bir dizeye dönüştürmeniz gerekir (okuyabilirsiniz). PowerShell betiklerinde parola koruması hakkında daha fazla bilgiyi burada bulabilirsiniz):
$NewPasswd=Read-Host "Enter a new user password" -AsSecureStringArtık kullanıcı için yeni bir şifre belirleyebilirsiniz:
Set-ADAccountPassword jliebert -Reset -NewPassword $NewPasswd -PassThruBir kullanıcı parolasını sıfırlarken, daha önce kilitlenmişse hesabın kilidini açmaya zorlayabilirsiniz (hesabın hangi bilgisayardan kilitlendiğini öğrenmek için Active Directory'de Hesap Kilitlemelerinin Kaynağını Bulma makalesini okuyun):
Unlock-ADAccount -Identity jliebertBir kullanıcıyı etki alanında bir sonraki oturum açışında parolasını değiştirmeye zorlamak için aşağıdaki komutu çalıştırın:
Set-ADUser -Identity jliebert -ChangePasswordAtLogon $trueParola değiştirme komutunu ve parolayı değiştirme gereksinimini (bu, userAccountControl nesne özniteliğidir) tek satırlık PowerShell ile birleştirebilirsiniz:
Set-ADAccountPassword jliebert -NewPassword $NewPasswd -Reset -PassThru | Set-ADuser -ChangePasswordAtLogon $TrueGet-ADUser cmdlet'ini kullanarak parolanın başarıyla sıfırlandığından emin olabilir ve hesap parolası değişikliğinin son tarihini görüntüleyebilirsiniz:
Get-ADUser jliebert -Properties * | select name, pass*Bir parola sıfırlandığında EventID 4724, etki alanı denetleyicisi (DC) güvenlik günlüğüne kaydedilir. Bu etkinlik, kullanıcının parolasını sıfırlayan hesabı belirlemenize yardımcı olabilir.
PowerShell komutunu kullanarak etkin parola ilkesi ayarlarına göre bir kullanıcının parolasının süresinin ne zaman dolacağını öğrenebilirsiniz:
Get-ADUser -Identity simonecole -Properties msDS-UserPasswordExpiryTimeComputed | select-object @{Name="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed") }}PowerShell ile Birden Çok AD Kullanıcısının Parolası Nasıl Değiştirilir?
Yukarıda, PowerShell kullanarak tek bir AD kullanıcısının şifresini nasıl sıfırlayacağınızı gösterdik. Şimdi birden fazla kullanıcının şifresini aynı anda değiştirmeniz gereken başka bir senaryoya bakalım.
Örneğin, Satış departmanındaki tüm çalışanların şifresini aynı şifreye sıfırlamak ve onları bir sonraki girişlerinde şifreyi değiştirmeye zorlamak istiyorsunuz. Get-ADUser -Filter komutunu kullanabilirsiniz. özelliklerden birinde belirli bir değere sahip kullanıcıları seçmek için:
get-aduser -filter "department -eq 'Sales Dept' -AND enabled -eq 'True'" | Set-ADAccountPassword -NewPassword $NewPasswd -Reset -PassThru | Set-ADuser -ChangePasswordAtLogon $TrueBaşka bir örneğe bakalım. Parolalarını sıfırlaması gereken kullanıcıların bir listesini ve her kullanıcı için benzersiz bir parola içeren bir CSV/Excel dosyanız olduğunu varsayalım. Users.csv dosyasının biçimi şu şekildedir:
sAMAccountName;NewPassword
acidicjustine;Pa$$w0r1
josephomoore;N$isory01
simonecole;k@32d3!2Belirtilen CSV dosyasındaki her kullanıcı hesabı için bir parolayı aşağıdaki PowerShell komut dosyasıyla sıfırlayabilirsiniz:
Import-Csv users.csv -Delimiter ";" | Foreach {
$NewPass = ConvertTo-SecureString -AsPlainText $_.NewPassword -Force
Set-ADAccountPassword -Identity $_.sAMAccountName -NewPassword $NewPass -Reset -PassThru | Set-ADUser -ChangePasswordAtLogon $false
}Bu kod yürütüldükten sonra, dosyadaki tüm AD kullanıcıları için yeni bir benzersiz parola belirlenecektir.
Etki Alanı Kullanıcı Parolalarını Komut Satırından Değiştirme
Bilgisayarınızda ADUC konsolu veya RSAT-AD-PowerShell modülü kurulu değilse net use konsol komutuyla etki alanı kullanıcı parolasını sıfırlayabilirsiniz. Bir etki alanı kullanıcısı hakkında bilgi almak için şu komutu çalıştırın:
net user jliebert /domainKomut satırı, kullanıcının etki alanındaki parola özellikleri hakkında temel bilgileri gösterir:
Password last set 4/22/2022 2:15:15 AM
Password expires Never
Password changeable 4/23/2022 2:15:15 AM
Password required Yes
User may change password Yes
Last logon 4/22/2022 2:48:12 AM
Logon hours allowed AllSon Oturum Açma değeri, kullanıcının etki alanında en son ne zaman oturum açtığını gösterir. Active Directory'de kullanıcının oturum açma geçmişi hakkında daha fazla bilgi edinebilirsiniz.
Bu kullanıcının parolasını sıfırlamak için şu komutu çalıştırın:
net user jliebert /domain *Yeni bir şifre girin ve onaylayın:
Type a password for the user: xxxx
Retype the password to confirm: xxxx
The command completed successfully.







