Thứ Hai, 29 Tháng Tư, 2024
Trang chủWindows ServerActive DirectoryCách làm mới AD Groups Membership không cần khởi động lại máy...

Cách làm mới AD Groups Membership không cần khởi động lại máy hoặc logoff

Sau khi bạn thêm mới máy tính hoặc tài khoản người dùng vào nhóm bảo mật trong Active Directory, quyền truy cập mới hoặc GPO mới sẽ không được áp dụng ngay lập tức. Để cập nhật tư cách thành viên nhóm và áp dụng các quyền được chỉ định hoặc Group Policies mới, bạn cần khởi động lại máy tính hoặc thực hiện đăng xuất và đăng nhập lại (đối với User). Điều này là do tư cách thành viên nhóm AD chỉ được cập nhật khi vé Kerberos ticket được phát hành, điều này chỉ xảy ra khi hệ thống khởi động hoặc khi người dùng được xác thực khi đăng nhập.

Nếu bạn không thể khởi động lại máy tính hoặc đăng xuất người dùng, thì bạn có thể cập nhật tư cách thành viên nhóm AD của tài khoản bằng cách sử dụng công cụ klist.exe. Tiện ích này cho phép bạn đặt lại và gia hạn Kerberos tickets của máy tính hoặc người dùng.

Chú ý: Phương pháp trong bài viết này chỉ hoạt động với các dịch vụ mạng hỗ trợ xác thực Kerberos. Các dịch vụ chỉ hoạt động với xác thực NTLM vẫn yêu cầu đăng xuất + đăng nhập của người dùng hoặc khởi động lại Windows.

Bạn có thể liệt kê các nhóm bảo mật trong miền mà người dùng hiện tại là thành viên bằng lệnh:

whoami /groups

hoặc bằng lệnh GPResult:

gpresult /r /scope user

Danh sách các nhóm mà người dùng là thành viên được hiển thị trong phần “The user is a part of the following security groups”.

Cách cập nhật Computer Group Membership và Kerberos Ticket không cần khởi động lại

Bạn có thể liệt kê các nhóm bảo mật mà máy tính này là thành viên bằng lệnh

gpresult /r /scope computer

Các nhóm sẽ nằm trong mục “The computer is a part of the following security groups”

Bạn có thể liệt kê Kerberos ticket đã lưu trong bộ nhớ đệm mà máy tính nhận được, cũng như ngày nhận và thời gian gia hạn tiếp theo bằng lệnh.

klist.exe -li 0x3e7

Chú ý: 0x3e7 là một mã định danh đặc biệt trỏ đến một phiên làm việc của máy tính cục bộ (Local System).

Bây giờ, hãy thêm máy tính vào AD security group (sử dụng ADUC snap-in hoặc bằng lệnh PowerShell: Add-AdGroupMember -Identity BlogCNTTGroup -Members BlogCNTTUser )

Để xóa bộ đệm Kerberos ticket của máy tính và cập nhật tư cách thành viên nhóm AD của máy tính, hãy chạy lệnh sau:

Với Windows 7 và Windows Server 2008R2

klist -lh 0 -li 0x3e7 purge

Với Windows 11/10/8 và Windows Server 2022/2019/2016:

klist –li 0x3e7 purge

Cập nhật cài đặt Group Policy bằng lệnh gpupdate /force. Sau đó, tất cả cài đặt Group Policy mới sẽ được áp dụng cho máy tính mà không cần khởi động lại.

Bạn có thể sử dụng lệnh sau để kiểm tra xem máy tính đã nhận được Kerberos tickets mới chưa:

klist -li 0x3e7 tgt

Nếu chính sách hạn chế truy cập LSA đã được cấu hình trong miền của bạn , thì khi bạn chạy lệnh klist -li 0: 0x3e7, bạn có thể gặp lỗi: “Error calling API LsaCallAuthenticationPackage

Current LogonId is 0:0x3d2de2

Targeted LogonId is 0:0x3e7

*** You must run this tool while being elevated, and you must have TCB or be a local admin.***

klist failed with 0xc0000001/-1073741823: {Operation Failed}

The requested operation was unsuccessful.

Trong trường hợp này, bạn sẽ cần chạy dòng lệnh sau với quyền của NT AUTHORITY\SYSTEM và xóa bộ đệm Kerberos ticket trên máy tính của bạn:

psexec -s -i -d cmd.exe – chạy lệnh với quyền NT AUTHORITY\SYSTEM 

klist purge – xóa bộ đệm Kerberos ticket

gpupdate /force – Cập nhật GPO

Tải lại User Groups Membership không cần LogOff

Một lệnh khác được sử dụng để cập nhật các nhóm bảo mật Active Directory được chỉ định trong phiên người dùng. Ví dụ: bạn vừa thêm người dùng vào nhóm bảo mật có quyền truy cập vào thư mục dùng chung. Người dùng sẽ không thể truy cập thư mục này nếu không đăng xuất và đăng nhập lại.

Lúc này, Bạn phải cập nhật lại bộ nhớ đệm Kerberos ticket của người dùng nếu bạn muốn cập nhật lại danh sách các nhóm bảo mật đã được chỉ định cho người dùng đó. Mở CMD với quyền User (không chạy cmd ở chế độ admin).Sau đó chạy lệnh sau:

klist purge

Mở một cửa sổ CMD mới và chạy lệnh sau để xem các nhóm đã được cập nhật

whoami /groups

Trong môi trường Remote Desktop Services (RDS), bạn có thể cập nhật lại Kerberos ticket cho tất cả các phiên người dùng từ xa cùng một lúc bằng cách sử dụng một lệnh PowerShell sau:

Get-WmiObject Win32_LogonSession | Where-Object {$_.AuthenticationPackage -ne 'NTLM'} | ForEach-Object {klist.exe purge -li ([Convert]::ToString($_.LogonId, 16))}

Để người dùng có thể kết nối với thư mục mạng được chia sẻ, bạn phải khởi động lại File Explorer shell  bằng token mới. (với một nhóm bảo mật mới). Bạn thực hiện như sau:

  1. Mở CMD;
  2. Tắt tiến trình File Explorer bằng lệnh: taskkill /f /im explorer.exe
  3. Mở 1 tiến trình Explorer mới bằng thông tin đăng nhập của bạn. VD: runas /user:blogcntt\user explorer.exe
  4. Nhập password tài khoản của bạn;
  5. Sau đó, File Explorer sẽ khởi động lại với mã thông báo truy cập mới và bạn sẽ có thể truy cập thư mục mạng với quyền của nhóm bảo mật mới.
Bài viết liên quan

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

Bài viết nổi bật

Ý kiến gần đây