Bagaimana Anda memaksa pembaruan ke keanggotaan grup pengguna di Windows 7?

27

Saya menulis aplikasi web yang menggunakan .NET Windows Authentication dan bergantung pada keanggotaan grup pengguna untuk mengotorisasi mereka ke berbagai area situs web. Saat ini saya menggunakan mesin dev yang BUKAN bagian dari domain dan tidak menggunakan AD, sebagai gantinya saya hanya menggunakan grup pengguna lokal. Secara umum ini berfungsi dengan baik seperti apa adanya.

Namun, saat saya menguji aplikasi, saya perlu menambah dan menghapus peran di akun pengguna saya untuk memverifikasi bahwa semuanya berfungsi. Ketika saya menambahkan peran sepertinya tidak menyebar sampai saya keluar dari Windows dan masuk lagi.

Apakah mungkin untuk memaksa pembaruan ke keanggotaan Grup tanpa harus keluar?

kingdango
sumber
3
Apakah maksud Anda keluar dari stasiun, atau situs web?
Dan
Poin bagus, saya memperbarui pertanyaan saya untuk menjelaskan. Saya harus keluar dari akun pengguna Windows saya (keluar dari windows) dan masuk lagi.
kingdango
Itu memang memaksa pembaruan sistem untuk keanggotaan grup. Setelah Anda menjalankan tugas perintah kill explorer lagi, kemudian jalankan explorer secara normal. Anda akan memiliki token keamanan baru di instance penjelajah baru Anda juga.

Jawaban:

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

Ini akan membunuh penjelajah, lalu membuka kembali dengan akun pengguna Anda ... Ini akan meminta Anda untuk kata sandi Anda dan itu akan memberi Anda token baru, sehingga memperbarui keanggotaan Anda.

Matt Brown
sumber
1
Tampaknya ini berfungsi, tetapi saya menemukan bahwa koneksi drive yang dipetakan rusak.
SomeGuy
2
tidak bekerja untuk saya di Windows 10 Pro
Dave Cousineau
Lihat juga: woshub.com/… . Untuk komputer klist -lh 0 -li 0x3e7 purge, untuk pengguna klist purge. NB: Saya sendiri belum mencoba perintah itu; hanya mengulangi info dari artikel yang ditautkan.
JohnLBevan
10

Ini sulit dilakukan pada skala sistem yang luas, tetapi dimungkinkan dengan file yang dapat dieksekusi individual dengan mematikan proses mereka dan meluncurkannya kembali di bawah kredensial pengguna.

Saat Anda masuk, Anda menerima token yang mencerminkan keanggotaan grup Anda, antara lain. Satu-satunya cara untuk menyegarkan token ini adalah dengan masuk.

MDMarra
sumber
Jika ini adalah kasus yang menyedihkan, itu akan sedikit menghambat pengujian saya. Terima kasih atas wawasannya ... Saya berharap pengguna lain memiliki jawaban yang lebih baik tetapi saya menebak dengan 15k + perwakilan Anda, Anda tahu apa yang Anda bicarakan.
kingdango
2
@kingdango selalu bisa Anda gunakan runasuntuk menjalankan proses sebagai pengguna yang berbeda dari milik Anda dan memanipulasi keanggotaan grup pengguna tes tersebut. Setiap kali Anda menutup dan meluncurkan kembali proses menggunakannya runasharus membuat sesi baru, yang harus mencerminkan keanggotaan grup yang diubah. Saya belum menguji ini, tetapi secara teori seharusnya bekerja seperti ini.
MDMarra
Itu sulit karena lingkungan dev saya tetapi perlu ditelusuri. Terima kasih atas tanggapan cepat dan penuh perhatian Mark.
kingdango
4

Saya memiliki situasi yang mirip dengan situs web yang mengandalkan keanggotaan pengguna dalam AD untuk memungkinkan masuk ke situs web. Satu hal yang perlu dipertimbangkan adalah meminta server web melakukan otentikasi / permintaan ke server AD dengan kredensial yang disediakan; jika server web memiliki akses ke AD dan hanya menanyakan server apakah pengguna berada di grup XYZ, mereka akan mendapatkan daftar langsung dari AD, bukan dari token masuk pengguna yang memerlukan masuk / keluar untuk mendapatkan yang baru token dengan hak istimewa yang tepat.

Saya tahu mesin dev Anda sekarang dari deskripsi tidak memiliki akses itu, tetapi itu terdengar seperti maksud Anda ketika Anda menggunakannya Anda memerlukan fungsi ini.

Jika Anda mengandalkan token, Anda harus keluar dan kembali.

Bart Silverstrim
sumber
Terima kasih atas tanggapan yang bijaksana. Itu adalah salah satu cara yang baik untuk menyelesaikan masalah. Dalam situasi normal, saya lebih dari senang menunggu sampai pengguna menerima kontrol akses yang diperbarui, bahkan jika itu berarti mereka harus keluar dan masuk ke mesin mereka lagi. Ini hanya skenario uji di mana ini bisa menjadi beban tapi itu benar-benar bukan masalah besar. Jujur, saya butuh lebih banyak waktu untuk meneliti jalan pintas. :-)
kingdango
1
Ini bisa berguna juga, tergantung pada skenario. Jika server meminta DC secara langsung, itu berarti bahwa perubahan "bermigrasi" segera, jadi jika seseorang mendapatkan akses terputus atau ditambahkan, itu tidak memerlukan siklus logon / logout klien. Itu membuat sedikit lebih mudah bagi staf TI mereka.
Bart Silverstrim
3

Ada cara tertulis untuk melakukan ini sepenuhnya melalui baris perintah; Anda bisa menggunakan klist .

klist purge
Nixphoe
sumber
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.Apakah [Purge](https://technet.microsoft.com/en-us/library/hh134826.aspx?f=255&MSPPError=-2147217396)penyesalan token itu? atau apakah itu hanya membuang yang sudah ada meninggalkan Anda tanpa apa-apa? Jika Anda tidak memiliki token, apakah meluncurkan ulang explorer (atau proses apa pun yang memerlukan token), sesali secara otomatis?
Brad
Ini akan membuat ulang token saat Anda meminta sumber daya baru. Saya sudah sering menggunakan ini ketika mencoba memperbarui grup keamanan untuk pengguna jarak jauh dan workstation ketika menambahkan keanggotaan grup ke objek AD mereka.
Nixphoe
oh bagus (dan ledakan saya mengacaukan format dalam komentar itu .... Anda mendapatkan ide)
Brad
-2
  • Buka Task Manager
  • Bunuh Explorer.exe (masing-masing)
  • Klik File> Tugas Baru (Jalankan ...)
  • Ketik CMD
  • Pada prompt perintah ketik "RunAs / pengguna: \ explorer.exe

Selesai

flip66
sumber
2
Tidak salah. Silakan baca pertanyaannya.
HopelessN00b
4
@ HopelessN00b Sepertinya ini pada dasarnya yang menjadi jawaban yang diterima.
Brad
1
@Brad Yang tidak ada hubungannya dengan apakah itu benar atau salah. MDMarra benar (seperti halnya Bart), ini (dan jawaban yang diterima) salah. Proses ini tidak memaksa sistem untuk memperbarui keanggotaan grup.
HopelessN00b
1
@ HopelessN00b Anda benar, seperti yang saya temukan di kemudian hari. Reboot adalah satu-satunya cara untuk menyegarkan keanggotaan. Kedua jawaban itu salah, sayangnya.
Brad
1
Logoff dan kembali harus melakukan trik, tidak perlu reboot. Keanggotaan grup diterapkan saat login.
Charlie Wilson