Làm thế nào để bạn buộc cập nhật thành viên nhóm người dùng trong Windows 7?


27

Tôi đang viết một ứng dụng web sử dụng .NET Windows xác thực và dựa vào tư cách thành viên nhóm của người dùng để ủy quyền cho họ đến các khu vực khác nhau của trang web. Hiện tại tôi đang sử dụng máy dev không phải là một phần của miền và không sử dụng AD, thay vào đó tôi chỉ sử dụng các nhóm người dùng cục bộ. Nói chung điều này là làm việc tốt như là.

Tuy nhiên, khi tôi kiểm tra ứng dụng, tôi cần thêm và xóa vai trò trong tài khoản người dùng của mình để xác minh mọi thứ đang hoạt động. Khi tôi thêm một vai trò, nó dường như không lan truyền cho đến khi tôi đăng xuất khỏi Windows và đăng nhập lại.

Có thể buộc cập nhật thành viên nhóm mà không cần phải đăng xuất không?


3
Bạn có nghĩa là đăng xuất khỏi trạm, hoặc trang web?
Dan

Điểm tốt, tôi cập nhật câu hỏi của tôi để làm rõ. Tôi phải đăng xuất khỏi tài khoản người dùng Windows của mình (đăng xuất khỏi windows) và đăng nhập lại.
kingdango

Nó không bắt buộc cập nhật hệ thống để thành viên nhóm. Sau khi bạn chạy lại nhiệm vụ lệnh kill explorer, sau đó chạy explorer bình thường. bạn cũng sẽ có mã thông báo bảo mật mới trong trường hợp trình thám hiểm mới của bạn.

Câu trả lời:


25
taskkill.exe /F /IM explorer.exe
runas /user:%USERDOMAIN%\%USERNAME% explorer.exe

Điều này sẽ giết thám hiểm, sau đó mở lại bằng tài khoản người dùng của bạn ... Nó sẽ nhắc bạn nhập mật khẩu và điều đó sẽ giúp bạn có được mã thông báo mới, từ đó cập nhật tư cách thành viên của bạn.


1
Điều này dường như không hoạt động, nhưng tôi thấy rằng bất kỳ kết nối ổ đĩa được ánh xạ nào đều bị hỏng.
Một số

2
không hoạt động với tôi trong Windows 10 Pro
Dave Cousineau

Xem thêm: woshub.com/ . Đối với máy tính klist -lh 0 -li 0x3e7 purge, cho người dùng klist purge. NB: Tôi đã không thử những lệnh đó bản thân mình; chỉ cần lặp lại thông tin từ các bài viết được liên kết.
JohnLBevan

10

Điều này rất khó thực hiện trên quy mô toàn hệ thống, nhưng có thể với các tệp thực thi riêng lẻ bằng cách hủy quy trình của chúng và khởi chạy lại chúng theo thông tin đăng nhập của người dùng.

Khi bạn đăng nhập, bạn sẽ nhận được mã thông báo phản ánh tư cách thành viên nhóm của bạn, trong số những thứ khác. Cách duy nhất để làm mới mã thông báo này là đăng nhập.


Nếu đây là trường hợp kỳ quặc, nó sẽ cản trở việc thử nghiệm của tôi một chút. Cảm ơn vì sự sáng suốt ... Tôi hy vọng một người dùng khác có câu trả lời tốt hơn nhưng tôi đoán bằng 15k + đại diện của bạn, bạn biết bạn đang nói về điều gì.
kingdango

2
@kingdango bạn luôn có thể sử dụng runasđể chạy quy trình với tư cách người dùng khác với chính người dùng của mình và thao túng thành viên nhóm của người dùng thử nghiệm đó. Mỗi khi bạn đóng và khởi chạy lại quá trình sử dụng runasnó sẽ tạo ra một phiên mới, sẽ phản ánh tư cách thành viên nhóm đã thay đổi. Tôi đã không thử nghiệm điều này, nhưng trên lý thuyết nó sẽ hoạt động theo cách này.
MDMarra

Điều đó khó khăn vì môi trường dev của tôi nhưng nó đáng để khám phá. Cảm ơn đã trả lời nhanh chóng và chu đáo Mark.
kingdango

4

Tôi đã có một tình huống tương tự của một trang web dựa trên tư cách thành viên của người dùng trong AD để cho phép đăng nhập vào trang web. Một điều cần xem xét là yêu cầu máy chủ web thực hiện xác thực / truy vấn đến máy chủ AD với thông tin đăng nhập được cung cấp; nếu máy chủ web có quyền truy cập vào AD và chỉ truy vấn máy chủ xem người dùng có thuộc nhóm XYZ hay không, họ sẽ nhận được một danh sách ngay từ AD, chứ không phải từ mã thông báo đăng nhập của người dùng yêu cầu đăng nhập / đăng xuất để có được một thông tin mới mã thông báo với các đặc quyền thích hợp.

Tôi biết máy dev của bạn ngay bây giờ từ mô tả không có quyền truy cập đó nhưng có vẻ như ý bạn là khi bạn triển khai nó, bạn cần chức năng này.

Nếu bạn dựa vào mã thông báo, bạn sẽ phải đăng xuất và đăng nhập lại.


Cảm ơn bạn đã phản hồi chu đáo. Đó là một cách tốt để có được vấn đề. Trong các tình huống thông thường, tôi rất vui khi chờ đợi cho đến khi người dùng nhận được kiểm soát truy cập cập nhật, ngay cả khi điều đó có nghĩa là họ cần phải đăng xuất và đăng nhập lại vào máy của họ. Đó chỉ là kịch bản thử nghiệm mà điều này có thể là một gánh nặng nhưng nó thực sự không phải là vấn đề lớn. Thành thật mà nói, tôi đã mất nhiều thời gian hơn để nghiên cứu một lối tắt. :-)
kingdango

1
Nó cũng có thể có ích, tùy thuộc vào kịch bản. Nếu máy chủ đang truy vấn trực tiếp DC, điều đó có nghĩa là thay đổi "di chuyển" gần như ngay lập tức, vì vậy nếu ai đó đang bị cắt quyền truy cập hoặc thêm vào thì sẽ không mất chu kỳ đăng nhập / đăng xuất của khách hàng. Nó làm cho nó dễ dàng hơn một chút cho nhân viên CNTT của họ.
Bart Silverstrim

3

Có một cách viết kịch bản để thực hiện điều này hoàn toàn thông qua dòng lệnh; bạn có thể sử dụng klist .

klist purge

Purging tickets destroys all tickets that you have cached, so use this attribute with caution. It might stop you from being able to authenticate to resources. If this happens, you will have to log off and log on again.Liệu [Purge](https://technet.microsoft.com/en-us/library/hh134826.aspx?f=255&MSPPError=-2147217396)regrab các mã thông báo mặc dù? hoặc nó chỉ vứt bỏ những cái hiện có để lại cho bạn không có gì? Nếu bạn không có mã thông báo, có khởi chạy lại trình thám hiểm (hoặc bất kỳ quy trình nào cần mã thông báo) tự động lấy lại mã không?
Brad

Nó sẽ tạo lại mã thông báo khi bạn yêu cầu tài nguyên mới. Tôi đã sử dụng điều này khá thường xuyên khi cố gắng cập nhật các nhóm bảo mật cho người dùng và máy trạm từ xa khi thêm thành viên nhóm vào các đối tượng AD của họ.
Nixphoe

ồ thật tuyệt (và vụ nổ tôi đã làm rối định dạng trong bình luận đó .... bạn hiểu ý)
Brad

-2
  • Mở trình quản lý tác vụ
  • Giết Explorer.exe (mỗi cái)
  • Bấm vào Tệp> Tác vụ mới (Chạy ...)
  • Nhập vào CMD
  • Trong dấu nhắc lệnh, gõ "RunAs / user: \ explorer.exe

Làm xong.


2
Không sai. Xin vui lòng đọc câu hỏi.
HoplessN00b

4
@ HoplessN00b Điều này chắc chắn có vẻ như về cơ bản nó đã trở thành câu trả lời được chấp nhận.
Brad

1
@Brad Không liên quan gì đến việc nó đúng hay sai. MDMarra đúng (như Bart), điều này (và câu trả lời được chấp nhận) là sai. Quá trình này không buộc hệ thống cập nhật thành viên nhóm.
HoplessN00b

1
@ HoplessN00b bạn đúng, như tôi đã tìm ra sau đó trong ngày. Khởi động lại là cách duy nhất để làm mới tư cách thành viên. Cả hai câu trả lời đều sai, thật đáng buồn.
Brad

1
Đăng xuất và quay lại nên thực hiện các mẹo, không cần phải khởi động lại. Thành viên nhóm được áp dụng khi đăng nhập.
Charlie Wilson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.