Tìm kiếm trang web

Đặt lại mật khẩu thông qua lệnh ghép ngắn Set-ADAccountPassword trong AD


Người dùng thường cập nhật mật khẩu tài khoản miền của mình bằng menu Cài đặt Windows. Nhưng nếu họ quên mật khẩu hoặc tài khoản của họ bị vô hiệu hóa thì quản trị viên cần phải can thiệp.

Bài đăng trên blog này khám phá một số cách mà quản trị viên có thể đặt lại mật khẩu của người dùng hoặc tạo mật khẩu mới. Trước tiên, chúng tôi xem xét các tùy chọn dễ dàng nhất: Người dùng và Máy tính Active Directory (ADUC) và Trung tâm Quản trị Active Directory (ADAC). Nhưng vì cả hai đều có những hạn chế nên chúng tôi cũng sẽ thảo luận về cách quản trị viên có thể quản lý mật khẩu người dùng hiệu quả hơn bằng cách sử dụng PowerShell hoặc các công cụ của bên thứ ba

Điều kiện tiên quyết: Kiểm tra quyền đặt lại mật khẩu

Để đặt lại mật khẩu của người dùng, quản trị viên cần có quyền thích hợp. Theo mặc định, các thành viên của nhóm Quản trị viên miền và Người vận hành tài khoản được phép thay đổi mật khẩu cho các tài khoản khác. Những người dùng và nhóm khác cũng có thể được ủy quyền quyền này.

Để kiểm tra xem một quản trị viên nhất định có thể đặt lại mật khẩu cho tài khoản người dùng hay không, hãy thực hiện các bước sau:

  1. Trong ACUC, mở thuộc tính của người dùng AD mà bạn muốn xem quyền.
  2. Điều hướng đến tab Bảo mật và nhấp vào Nâng cao.
  3. Chọn Truy cập hiệu quả, nhập tên tài khoản của quản trị viên và xem liệu tài khoản đó có quyền Đặt lại mật khẩu hay không.

Đặt lại mật khẩu bằng ADUC và ADAC

Quản trị viên có hai tùy chọn dựa trên GUI để đặt lại mật khẩu người dùng: Người dùng và Máy tính Active Directory (ADUC) và Trung tâm Quản trị Active Directory (ADAC).

Đặt lại mật khẩu bằng ADUC

Để đặt lại mật khẩu của người dùng bằng ADUC, hãy thực hiện các bước sau:

  1. Nếu bạn biết vị trí của người dùng trong AD có mật khẩu mà bạn muốn thay đổi, hãy điều hướng tới vị trí đó, nhấp chuột phải vào đó và chọn Đặt lại mật khẩu.

    Nếu bạn không biết vị trí của người dùng trong AD, hãy tìm kiếm người dùng bằng cách nhấp chuột phải vào tên miền và chọn Tìm:

    Nhập tên người dùng và nhấp vào Tìm ngay. Sau đó nhấp chuột phải vào tên trong kết quả tìm kiếm và chọn Đặt lại mật khẩu.

  2. Trong hộp thoại Đặt lại mật khẩu:

    • Nhập mật khẩu mới và xác nhận nó bằng cách nhập lại.
    • Chọn hộp kiểm Người dùng phải thay đổi mật khẩu ở lần đăng nhập tiếp theo để buộc người dùng thay đổi mật khẩu vào lần đăng nhập tiếp theo.
    • Nếu tài khoản người dùng bị khóa theo chính sách bảo mật AD do đăng nhập nhiều lần với mật khẩu không chính xác, bạn có thể mở khóa tài khoản bằng cách chọn hộp kiểm Mở khóa tài khoản của người dùng.

  3. Nhấp vào OK.

Đặt lại mật khẩu bằng ADAC

Quá trình đặt lại mật khẩu bằng ADAC khá giống với quy trình được sử dụng cho ADUC. Dưới đây là ảnh chụp màn hình cho các bước chính:

Đặt lại mật khẩu bằng PowerShell

Mặc dù ADUC và ADAC cung cấp một cách đơn giản để đặt lại mật khẩu cho một người dùng nhưng chúng không hữu ích khi phải thay đổi mật khẩu cho nhiều người dùng. Để làm được điều đó, quản trị viên cần PowerShell. PowerShell cho phép bạn nhanh chóng đặt lại hàng loạt mật khẩu người dùng AD và thậm chí tự động tạo mật khẩu ngẫu nhiên phức tạp.

Set-ADAccountPassword: Cú pháp

Hãy bắt đầu với lệnh ghép ngắn Set-ADAccountPassword để đặt mật khẩu cho tài khoản người dùng, máy tính hoặc dịch vụ. Cú pháp của cmdlet này như sau:

Set-ADAccountPassword [-WhatIf] [-Confirm] [-AuthType <ADAuthType>] [-Credential <PSCredential>] [-Identity] <ADAccount> [-NewPassword <SecureString>] [-OldPassword <SecureString>] [-Partition <String>] [-PassThru] [-Reset] [-Server <String>] [<CommonParameters>]

Set-ADAccountPassword: Tham số

Dưới đây là các thông số chính cần biết:

Parameter

Đã từng

AuthType

Chỉ định phương thức xác thực sẽ sử dụng. Các giá trị hợp lệ là:
Thương lượng hoặc 0 (mặc định)
Cơ bản hoặc 1

Confirm

Hiển thị lời nhắc xác nhận trước khi chạy lệnh.

Credentials

Chạy lệnh hoặc tập lệnh bằng thông tin xác thực thay thế.

Identity

Chỉ định đối tượng Active Directory cần thực hiện thao tác đặt lại mật khẩu. Sử dụng các giá trị sau làm giá trị:
Tên phân biệt
GUID
Mã định danh bảo mật (ObjectSid)
Tên tài khoản SAM

NewPassword

Chỉ định mật khẩu mới.

Server

Chỉ định tên miền đủ điều kiện (FQDN) của một trong các tên sau:
FQDN của miền
FQDN của máy chủ thư mục
FQDN với số cổng của miền hoặc máy chủ thư mục Một trong các dịch vụ sau phải được triển khai trong môi trường của bạn cho tham số này:
Dịch vụ miền Active Directory
Phiên bản ảnh chụp nhanh Active Directory

OldPassword

Cung cấp mật khẩu cũ khi đổi mật khẩu.

Partition

Chỉ định phân vùng Active Directory mà bạn được kết nối, nếu đó không phải là phân vùng mặc định.

PassThru

Hiển thị thông tin chi tiết về đối tượng người dùng.

Reset

Đặt lại mật khẩu cho một đối tượng; tham số NewPassword cũng phải được chỉ định.

Server

Chỉ định tên miền đủ điều kiện (FQDN) của một trong các tên sau:
FQDN của tên miền
FQDN của máy chủ thư mục
FQDN với số cổng của máy chủ tên miền hoặc thư mục
Một trong các dịch vụ sau phải được triển khai trong môi trường của bạn cho tham số này:
Dịch vụ miền Active Directory
Phiên bản chụp nhanh Active Directory
Dịch vụ miền nhẹ Active Directory

WhatIf

Xem đầu ra của lệnh ghép ngắn sẽ như thế nào nếu không thực sự chạy nó.

Bây giờ, hãy xem qua một số ví dụ về cách sử dụng lệnh ghép ngắn Set-ADAccountPassword.

Đặt lại mật khẩu người dùng AD

Chạy lệnh sau để đặt lại mật khẩu của tài khoản người dùng. Bạn sẽ được nhắc nhập mật khẩu mới và cũ cho tài khoản đó.

Set-ADAccountPassword -Identity AbbeyCrawford

Set-ADAccountPassword -Identity "CN=AbbeyCrawford,OU=VersaCorp,DC=milkyway,DC=local"

Ngoài ra, trước tiên bạn có thể lưu mật khẩu vào một biến rồi sử dụng nó trong lệnh ghép ngắn để đặt lại mật khẩu:

$Pwd = ConvertTo-SecureString "MyNewPassword@123" -AsPlainText -Force Set-ADAccountPassword -Identity AbbeyWarren -NewPassword $Pwd -Reset

Việc chạy các lệnh ghép ngắn này sẽ không hiển thị bất kỳ kết quả đầu ra nào trong bảng điều khiển PowerShell.

Để có được đầu ra, chúng ta cần thêm tham số -PassThru. Đây là một ví dụ sử dụng tham số này cũng như một số tham số bổ sung:

Set-ADAccountPassword abbeywarren -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “NewP@ssw0rd123” -Force -Verbose) –PassThru

Mở khóa tài khoản trong khi đặt lại mật khẩu

Tài khoản của người dùng có thể bị khóa do nhập sai mật khẩu quá nhiều lần, như được đặt trong chính sách khóa tài khoản. Trong trường hợp đó, người dùng sẽ thấy lỗi như sau:

Quản trị viên có thể mở khóa tài khoản từ trang “Thuộc tính” của người dùng trong ADUC:

Ngoài ra, bạn có thể chỉ cần mở khóa tài khoản trong khi đặt lại mật khẩu bằng cách sử dụng tham số Mở khóa-ADAccount với một đường dẫn:

Set-ADAccountPassword abbeywarren -Reset –NewPassword $PWD –PassThru | Unlock-ADAccount

Buộc người dùng thay đổi mật khẩu ở lần đăng nhập tiếp theo

Để buộc người dùng thay đổi mật khẩu vào lần tiếp theo họ đăng nhập vào miền, bạn có thể sử dụng lệnh Set-ADUser:

Set-ADUser -Identity abbeywarren -ChangePasswordAtLogon $true

Bạn cũng có thể thay đổi mật khẩu của người dùng và buộc họ thay đổi mật khẩu ở lần đăng nhập tiếp theo bằng một lệnh:

Set-ADAccountPassword abbeycrawford -NewPassword $Pwd -Reset -PassThru | Set-ADuser -ChangePasswordAtLogon $True

Việc chạy lệnh này sẽ cho phép Người dùng phải thay đổi mật khẩu ở tùy chọn đăng nhập tiếp theo, như hiển thị bên dưới:

Đặt lại mật khẩu bằng thông tin xác thực thay thế

Thông thường quản trị viên có hai tài khoản: tài khoản người dùng chuẩn và tài khoản quản trị viên. Để thay đổi mật khẩu của người dùng bằng tài khoản đặc quyền của bạn khi đăng nhập vào tài khoản tiêu chuẩn, hãy sử dụng tham số -Credential

Đầu tiên, lưu trữ thông tin đăng nhập quản trị viên của bạn vào một biến:

$Credentials = Get-Credential

Lệnh này sẽ nhắc bạn cung cấp thông tin đăng nhập sẽ được lưu trữ:

Sau đó, chúng ta có thể sử dụng biến sau để lưu mật khẩu mới cho người dùng:

$Pwd = ConvertTo-SecureString "MyNewPassword@123" -AsPlainText -Force

Sau đó, chúng tôi sử dụng cả hai biến này trong Set-ADAccountPassword:

Set-ADAccountPassword -Identity abbeywarren -NewPassword $Pwd -Credential $Credential

Xác minh kết quả đặt lại mật khẩu

Để xác minh rằng mật khẩu đã được đặt lại thành công, hãy sử dụng lệnh Get-ADUser để kiểm tra ngày và giờ mật khẩu được thay đổi lần cuối:

Get-ADUser abbeywarren -Properties * | select name, pass*

Đặt lại mật khẩu cho nhiều người dùng về cùng một giá trị

Đôi khi bạn cần đặt lại hàng loạt mật khẩu người dùng. Ví dụ: giả sử bạn muốn đặt cùng một mật khẩu cho tất cả người dùng trong bộ phận Kỹ thuật và yêu cầu những người dùng đó thay đổi mật khẩu vào lần đăng nhập tiếp theo. Chỉ cần sử dụng Get-ADUser với tham số -Filter để chọn người dùng có “bộ phận” giá trị được đặt thành “Kỹ thuật” và đưa chúng vào lệnh ghép ngắn Set-ADAccountPassword:

Get-ADUser -filter "department -eq 'Engineering'" | Set-ADAccountPassword -NewPassword $Pwd -Reset -PassThru | Set-ADuser -ChangePasswordAtLogon $True

Chúng tôi có thể xác minh kết quả bằng cách hiển thị thuộc tính mật khẩu của người dùng:

Get-ADUser -filter "department -eq 'Engineering'" -Properties * | select name, pass*

Đặt lại mật khẩu cho nhiều người dùng thành giá trị khác nhau

Bây giờ, giả sử bạn có tệp CSV hoặc Excel liệt kê nhiều người dùng cần đặt lại mật khẩu cùng với mật khẩu được chỉ định cho từng người dùng:

Chạy tập lệnh PowerShell sau để thay đổi mật khẩu cho từng tài khoản người dùng trong tệp CSV:

Import-Csv c:\temp\users_new_passwords.csv -Delimiter "," | Foreach {

$NewPassword = ConvertTo-SecureString -AsPlainText $_.NewPassword -Force

Set-ADAccountPassword -Identity $_.sAMAccountName -NewPassword $NewPassword -Reset -PassThru | Set-ADUser -ChangePasswordAtLogon $false

}

Đơn giản hóa việc quản lý mật khẩu với Netwrix GroupID

Netwrix GroupID đơn giản hóa việc quản lý mật khẩu bằng cách cung cấp các cổng thông tin dễ sử dụng cho cả người dùng doanh nghiệp và nhóm trợ giúp. Khi bất kỳ đối tượng AD nào được sửa đổi bằng cổng thông tin, một thông báo email sẽ được gửi đến những người nhận được chỉ định để thông báo cho họ về những thay đổi.

Cổng thông tin người dùng

Cổng thông tin người dùng cho phép người dùng doanh nghiệp tự mình thực hiện những việc sau:

  • Thay đổi mật khẩu của họ
  • Đặt lại mật khẩu của họ
  • Mở khóa tài khoản của họ

Đây là hộp thoại để người dùng thay đổi mật khẩu của họ trong Netwrix GroupID:

Cổng thông tin trợ giúp

Bằng cách sử dụng cổng thông tin trợ giúp, người dùng bộ phận trợ giúp có thể thực hiện các thao tác sau thay mặt cho người dùng:

  • Đặt lại mật khẩu của người dùng
  • Mở khóa tài khoản người dùng

Đây là hộp thoại để thay đổi mật khẩu của người dùng:

Đây là hộp thoại để mở khóa tài khoản của người dùng:

Người dùng bộ phận trợ giúp có thể sử dụng các tùy chọn Bảng điều khiển, Lịch sử và Cập nhật trực tiếp của cổng thông tin bộ phận trợ giúp để giám sát hoạt động của người dùng trên cổng thông tin người dùng:

Phần kết luận

Hầu hết các yêu cầu hỗ trợ từ bộ phận CNTT đều liên quan đến việc quên mật khẩu và tài khoản bị khóa. Mặc dù ADUC và ADAC giúp dễ dàng đặt lại mật khẩu của một người dùng nhưng chúng không phù hợp với các tác vụ phức tạp hơn. PowerShell lấp đầy khoảng trống đó bằng cách cho phép quản trị viên đặt lại mật khẩu hàng loạt và hơn thế nữa.

Để có một công cụ mạnh mẽ giúp đơn giản hóa việc quản lý mật khẩu cho cả người dùng và nhóm trợ giúp, hãy xem Netwrix GroupID.

Bài viết liên quan