Czy istnieje sposób na odświeżenie członkostwa w grupie komputerów bez ponownego uruchamiania?

17

Korzystam z systemu Windows Server 2008 R2 i mam usługę systemu Windows działającą na koncie „usługa sieciowa” na komputerze ComputerA. Ta usługa systemu Windows chce uzyskać dostęp do foldera udziału (na innym komputerze ComputerB), który przyznaje uprawnienia do odczytu grupie GroupA. Muszę więc dodać konto komputera ComputerA do GroupA i zrestartować ComputerA.

Moje pytanie brzmi: czy istnieje sposób, aby członkostwo w grupie natychmiast zaczęło obowiązywać bez ponownego uruchamiania komputera?

pkuneal
źródło

Odpowiedzi:

24
For Windows 2008 and higher:

psexec -s -i -d cmd.exe

C:\Windows\system32>whoami
nt authority\system

-- List the session 0 tickets (0x3e7 is the machine session 0)
klist -lh 0 -li 0x3e7  

-- Purge the session 0 tickets  
klist -lh 0 -li 0x3e7 purge  

Should display:  

Current LogonId is 0:0x3e7  
        Deleting all tickets:  
        Ticket(s) purged!  

PSExec to bezpłatne oprogramowanie SysInternals do pobrania od firmy Microsoft.


Aby usunąć wszelkie nieporozumienia, proces ten absolutnie odświeży członkostwo grupy w komputerze i pozwoli na zastosowanie zasad grupy mających zastosowanie do grupy zabezpieczeń na komputerze bez ponownego uruchamiania komputera. Zostało to przetestowane i zweryfikowane w systemach Windows Server 2012 R2 i Windows Server 2008 R2 i uniwersalnej grupie zabezpieczeń. Krótka wersja to:

  • psexec -s -i -d cmd.exe
  • klist tgt (wyświetl aktualny bilet, zanotuj jego rozmiar. Pamiętaj również, że ponieważ działasz jako system, bieżący identyfikator logowania to 0x3e7)
  • Dodaj komputer do grupy zabezpieczeń. (W razie potrzeby poczekaj na replikację)
  • klist purge
  • nltest /dsgetdc:domain.com (uruchom to lub dowolne inne polecenie, które połączy się z zasobem sieciowym i wymusi żądanie TGT)
  • klist tgt (zobacz aktualny bilet, zanotuj jego rozmiar. Powinien być nieco większy. Pamiętaj, że whoami / grupy nie będą odzwierciedlać nowego członkostwa)

W tym momencie można wyjść z wiersza polecenia systemu.

  • gpupdate /force
  • gpresult /h gpresult.html

Wyświetl gpreport, powinien teraz pokazać, że zastosowano zasady grupy.

Greg Askew
źródło
Mogę potwierdzić, że właśnie działał na Server 2012 R2 i Server 2016
KellCOMnet
Nie działa dla mnie w systemie Windows Server 2012 R2 (zarówno dla serwera członkowskiego, kontrolerów domeny, domeny i poziomu funkcjonalności lasu): mogę wyczyścić bilety Kerberos, ale nigdy nie otrzymałem nowej grupy (ani klist tgtrozmiar się nie zmienia, ani nie whoami /groupsodzwierciedla nowej grupy) . Sprawdziłem, czy zmiana w grupie jest replikowana przez wszystkie kontrolery domeny.
curropar
Cóż, zgodnie z shellandco.net/blog/2016/07/07/… , nie znalazłem żadnego z tych czeków odzwierciedlających nowe członkostwo, ale jest ono w rzeczywistości zastosowane. Dotyczy to mojego przypadku: mogę teraz wykonać akcję w zależności od nowej grupy, dzięki !!
curropar
2

Myślę, że przywrócenie usługi netlogon robi to samo, nie jestem pewien, jaki byłby ogólny wpływ. Jednak jestem pewien, że użytkownicy tymczasowo odłączą użytkowników.

Tony Roth
źródło
W przypadku stacji roboczej z systemem Windows 7 jest to rozwiązanie bez ponownego uruchamiania
321X
Z mojego doświadczenia wynika, że ​​ponowne uruchomienie usługi nie miało wpływu na członkostwo w grupie.
PHLiGHT
-1

W mojej domenie działa to tylko dla dysku sieciowego:

@echo off
net use M: /d /y
gpupdate /force
net use M: \\10.11.12.233\Archivos /persistent:Yes
explorer.exe M:
Diego Sebastian
źródło