无法从服务器运行batch file,用户无权访问文件

我们试图在服务器2008r2域控制器上运行一些login/注销脚本。 该脚本位于默认组策略注销目录中

\\domain.local\SysVol\domain.local\Policies\{guid}\User\Scripts\Logoff 

没有任何事情发生在注销,所以我们终于意识到脚本没有运行。 我将脚本复制到我的本地机器并运行它,它运行正常(定期validation的用户帐户)。

然后我试图通过文件资源pipe理器访问目录,我可以。 但是我无法运行该batch file。 我收到错误

“Windows无法访问(\文件的位置)您没有权限访问(\文件的位置)联系您的networkingpipe理员请求访问。

如果我右键单击和runaspipe理它工作正常。 我没有提到batch file中的内容,因为这似乎不重要。 我创build了一个名为test.bat的login脚本。 它只包含

 echo Hello pause 

再次,这不适用于用户脚本文件夹,或在任何共享这个问题。 我把它放在我们的文件服务器上的一个testing共享,我得到了同样的错误。 如果我通过命令提示符运行该batch file,它也可以正常工作。

此外,组策略正在应用,工作站事件查看器上没有错误日志。

最后,我已经尝试给我的域用户帐户文件本身更多的权限,它仍然不会运行。 只有域pipe理员可以运行该文件。

有什么想法吗?

将您的batch file移动到\\DomainController\Netlogon ,然后在GPO中浏览到该path,并将该.bat文件用于注销脚本。

这应该修复任何权限问题。

如果您有很多DC,则可以将GPO中batch file的path设置为\\%LOGONSERVER%\NETLOGON\copyNinite.bat

然后它将使用任何DCauthentication他们作为batch file的path,这应该是他们的站点本地。

希望有所帮助。

听起来像用户帐户控制文件系统虚拟化给我。 作为一个实验,运行useraccountcontrolsettings.exe并将UAC设置为“从不通知”。 重新启动并重新testing。 如果你的脚本工作,那么它绝对是UAC。

右键单击BAT所在的文件夹 – >安全 – >所有用户 – >全部允许。 请检查其中列出的其他用户。 也许这是问题,因为我们有类似的问题。