Tìm kiếm trang web

Nhận chính sách mật khẩu cho người dùng trong Active Directory trong PowerShell


Sử dụng lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy

Get-ADDefaultDomainPasswordPolicy được sử dụng để lấy chính sách mật khẩu mặc định cho miền được chỉ định. Chúng ta có thể sử dụng nó theo cách khác nhau trong các trường hợp sử dụng khác nhau; Hãy cùng tìm hiểu một vài trong số chúng dưới đây.

Sử dụng lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy với tham số -Current để nhận chính sách mật khẩu mặc định cho người dùng hiện đang đăng nhập trong thư mục hoạt động. Tại đây, người dùng có thể là Quản trị viên hoặc bất kỳ tên XYZ nào.

Sử dụng lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy:

Get-ADDefualtDomainPasswordPolicy -Current LoggedOnUser

ĐẦU RA :

ComplexityEnabled           : True
DistuniguishedName          : DC=maslab,DC=com
LockoutDuration             : 00:30:00
LockoutObservationWindow    : 00:30:00
LockoutThreshold            : 0
MaxPasswordAge              : 42.00:00:00
MinPasswordAge              : 1.00:00:00
MinPasswordLength           : 7
objectClass                 : {domainDNS}
objectGuid                  : 574e7bd0-a042-45d2-8fdd-00ca4cb0a769
PasswordHistoryCount        : 24
ReversibleEncryptionEnabled : False

Ngoài ra, chúng ta có thể sử dụng lệnh ghép ngắn Get-ADDefualtDomainPasswordPolicy để truy xuất chính sách mật khẩu mặc định từ miền người dùng hiện đang đăng nhập.

Sử dụng lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy với tham số -Identity để nhận chính sách mật khẩu mặc định cho miền được chỉ định trong thư mục hoạt động; trong trường hợp của chúng tôi, đó là maslab.com.

Sử dụng lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicym:

Get-ADDefaultDomainPasswordPolicy -Identity maslab.com

ĐẦU RA :

ComplexityEnabled           : True
DistuniguishedName          : DC=maslab,DC=com
LockoutDuration             : 00:30:00
LockoutObservationWindow    : 00:30:00
LockoutThreshold            : 0
MaxPasswordAge              : 42.00:00:00
MinPasswordAge              : 1.00:00:00
MinPasswordLength           : 7
objectClass                 : {domainDNS}
objectGuid                  : 574e7bd0-a042-45d2-8fdd-00ca4cb0a769
PasswordHistoryCount        : 24
ReversibleEncryptionEnabled : False

Sử dụng Get-ADForest với Get-ADDefaultDomainPasswordPolicy

Sử dụng lệnh ghép ngắn Get-ADForest cùng với lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy để truy xuất các đối tượng chính sách mật khẩu mặc định từ tất cả các miền trong nhóm được chỉ định.

Sử dụng Get-ADForest với lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy:

(Get-ADForest -Current LoggedOnUser).Domains |
ForEach-Object{ 
    Get-ADDefaultDomainPasswordPolicy -Identity $_
}

ĐẦU RA :

ComplexityEnabled           : True
DistuniguishedName          : DC=maslab,DC=com
LockoutDuration             : 00:30:00
LockoutObservationWindow    : 00:30:00
LockoutThreshold            : 0
MaxPasswordAge              : 42.00:00:00
MinPasswordAge              : 1.00:00:00
MinPasswordLength           : 7
objectClass                 : {domainDNS}
objectGuid                  : 574e7bd0-a042-45d2-8fdd-00ca4cb0a769
PasswordHistoryCount        : 24
ReversibleEncryptionEnabled : False

Đầu tiên, chúng tôi sử dụng lệnh ghép ngắn Get-ADForest để truy xuất thông tin chi tiết về nhóm Active Directory hiện tại bằng miền của người dùng hiện đã đăng nhập. Bạn có thể đang nghĩ rằng lệnh ghép ngắn này sẽ biết về người dùng đã đăng nhập như thế nào. Đó là vì chúng tôi đã chỉ định tham số -Current và đặt giá trị của nó thành LoggedOnUser. Lệnh ghép ngắn này có đối tượng forest chứa tên forest, cấp chức năng forest, tên miền, v.v.

Sau đó, chúng tôi sử dụng thuộc tính .Domain để lấy tất cả các miền trong nhóm Active Directory hiện tại, sau đó được dẫn tới lệnh ghép ngắn ForEach-Object. Lệnh ghép ngắn ForEach-Object được lặp lại trên tất cả các đối tượng. Trong mỗi lần lặp, chúng tôi đã sử dụng lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy với tham số -Identity để lấy chính sách mật khẩu cho đối tượng hiện tại ($_) .

Chúng tôi nhận được kết quả tương tự vì chúng tôi có một nhóm miền (maslab.com) trong trường hợp của mình.

Sử dụng Get-ADUser với Get-ADDefaultDomainPasswordPolicy

Sử dụng lệnh ghép ngắn Get-ADUser với lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy để truy xuất chính sách mật khẩu chi tiết cho người dùng được chỉ định trong thư mục hoạt động.

Sử dụng Get-ADUser với lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy:

$user_name = "Administrator"
$user = Get-ADUser -Identity $user_name -Properties *
$domain_policy = Get-ADDefaultDomainPasswordPolicy
$password_policy_for_one_user = @{
    "Password Never Expires" = $user.PasswordNeverExpires
    "Password Last Set" = $user.PasswordLastSet
    "Password Expired" = $user.PasswordExpired
    "Minimum Password Length" = $domain_policy.MinPasswordLength
    "Minimum Password Age" = $domain_policy.MinPasswordAge
    "Maximum Password Age" = $domain_policy.MaxPasswordAge
    "Password Complexity" = $domain_policy.ComplexityEnabled
    "Password HistoryCount" = $domain_policy.HistoryLength
    "Lockout Threshold" = $domain_policy.LockoutThreshold
    "Lockout Duration" = $domain_policy.LockoutDuration
}
$password_policy_for_one_user

ĐẦU RA :

Name                            Value
----                            -----
"Lockout Duration"              00:30:00
"Password Last Set"             7/16/2023 4:35:46 PM
"Minimum Password Length"       7
"Password Expired"              False
"Password Complexity"           True
"Lockout Threshold"             0
"Minimum Password Age"          1.00:00:00
"Maximum Password Age"          42.00:00:00
"Password History Count"        {}  
"Password Never Expires"        False

Đầu tiên, chúng tôi khởi tạo biến $user_name bằng Quản trị viên; đừng quên thay thế Quản trị viên bằng tên người dùng của bạn. Sau đó, chúng tôi sử dụng lệnh ghép ngắn Get-ADUser với tham số -Identity để truy xuất người dùng từ thư mục hoạt động và lưu trữ nó trong biến $user; $user này sẽ có tất cả các thuộc tính vì chúng tôi đặt tham số -Properties thành ký tự đại diện (*) để truy xuất tất cả các thuộc tính.

Tiếp theo, chúng tôi sử dụng lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy để lấy chính sách mật khẩu mặc định và gán nó cho biến $domain_policy. Sau đó, chúng ta tạo HashTable để đặt các khóa có giá trị tương ứng. Chúng tôi đã lưu trữ HashTable này trong biến $password_policy_for_one_user để hiển thị thêm trên bảng điều khiển PowerShell.

Chúng ta có tùy chọn nào để sử dụng các thuộc tính được tính toán để đáp ứng nhu cầu của dự án không; Ví dụ: nếu chúng ta muốn biết tuổi của mật khẩu, nghĩa là thời gian kể từ khi mật khẩu cuối cùng được thay đổi? Vâng tất nhiên! Xem ví dụ sau.

Sử dụng lệnh ghép ngắn Get-ADUser với lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy để hiển thị các thuộc tính được tính toán cho người dùng được đề cập trong thư mục hoạt động.

Sử dụng Get-ADUser với lệnh ghép ngắn Get-ADDefaultDomainPasswordPolicy:

$user_name = "Administrator"
$user = Get-ADUser -Identity $user_name -Properties *
$domain_policy = Get-ADDefaultDomainPasswordPolicy
$password_age = (Get-Date) - $user.PasswordLastSet
$password_age_days = $password_age.TotalDays
$password_policy_for_one_user = @{
    "Password Never Expires" = $user.PasswordNeverExpires
    "Password Last Set" = $user.PasswordLastSet
    "Password Age Days" = $password_age_days
    "Password Expired" = $user.PasswordExpired
    "Minimum Password Length" = $domain_policy.MinPasswordLength
    "Minimum Password Age" = $domain_policy.MinPasswordAge
    "Maximum Password Age" = $domain_policy.MaxPasswordAge
    "Password Complexity" = $domain_policy.ComplexityEnabled
    "Password HistoryCount" = $domain_policy.HistoryLength
    "Lockout Threshold" = $domain_policy.LockoutThreshold
    "Lockout Duration" = $domain_policy.LockoutDuration
}
$password_policy_for_one_user

ĐẦU RA :

Name                            Value
----                            -----
"Lockout Duration"              00:30:00
"Password Last Set"             7/16/2023 4:35:46 PM
"Minimum Password Length"       7
"Password Expired"              False
"Password Complexity"           True
"Lockout Threshold"             0
"Password Age Days"             0.293340765600694
"Minimum Password Age"          1.00:00:00
"Maximum Password Age"          42.00:00:00
"Password History Count"        {}  
"Password Never Expires"        False

Sử dụng lệnh tài khoản mạng

Sử dụng lệnh tài khoản mạng để nhận chi tiết chính sách mật khẩu trên máy tính cục bộ.

Sử dụng tài khoản net Lệnh:

net accounts

ĐẦU RA :

Force user logoff how long after time expires?:     Never
Minimum password age (days):                        1
Maximum password age (days):                        42
Minimum password length:                            7
Length of password history maintained:              24
Lockout threshold:                                  Never
Lockout duration (minutes):                         30
Lockout observation window (minutes):               30
Computer role:                                      PRIMARY
The command completed successfully.

Sử dụng Trình chỉnh sửa quản lý chính sách nhóm

Để sử dụng trình chỉnh sửa quản lý chính sách nhóm, hãy làm theo các bước đã cho:

Bước 1: Mở trình chỉnh sửa quản lý chính sách nhóm.

Bước 2: Điều hướng tới Chính sách miền mặc định. Nhấp chuột phải vào nó và chọn Chỉnh sửa.

Bước 3: Điều hướng đến Chính sách mật khẩu như trong ảnh chụp màn hình sau. Bạn sẽ tìm thấy chính sách mật khẩu ở bên trái (xem ô số 2). Bấm đúp vào bất kỳ thuộc tính nào trong hộp-2 để chỉnh sửa chi tiết (nếu muốn).

Đó là tất cả về cách lấy chính sách mật khẩu cho người dùng trong thư mục hoạt động trong PowerShell.

Bài viết liên quan