我正在使用 Windows Server 2008 R2,并在计算机 ComputerA 中以“网络服务”帐户运行 Windows 服务。此 Windows 服务想要访问共享文件夹(在另一台计算机 ComputerB 上),该共享文件夹授予组 GroupA 的读取权限。因此,我需要将 ComputerA 的计算机帐户添加到 GroupA 并重新启动 ComputerA。
我的问题是:有没有办法让组成员身份立即生效,而无需重新启动 ComputerA?
答案1
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 是 Microsoft 免费下载的 SysInternals。
为了消除任何疑惑,此过程绝对会刷新计算机的组成员身份,并允许适用于安全组的组策略现在应用于计算机,而无需重新启动计算机。这已在 Windows Server 2012 R2 和 Windows Server 2008 R2 以及通用安全组上进行了测试和验证。简短版本如下:
psexec -s -i -d cmd.exe
klist tgt
(查看当前票证,记下其大小。另请注意,由于您以系统身份运行,因此当前登录 ID 为 0x3e7)- 将计算机添加到安全组。(如果适用,请留出复制时间)
klist purge
nltest /dsgetdc:domain.com
(运行此命令或任何其他连接到网络资源并强制 TGT 请求的命令)klist tgt
(查看当前票证,记下大小。它应该稍微大一些。请注意,whoami /groups 不会反映新成员资格)
此时,可以退出系统命令提示符。
gpupdate /force
gpresult /h gpresult.html
查看 gpreport,它现在应该显示组策略已应用。
答案2
我认为重新启动 netlogon 服务会产生同样的效果,不确定整体影响会是什么。不过可以肯定的是,用户会暂时断开与用户的连接。
答案3
在我的域中,这仅适用于网络驱动器:
@echo off
net use M: /d /y
gpupdate /force
net use M: \\10.11.12.233\Archivos /persistent:Yes
explorer.exe M: