我有一个VBScript文件,我打电话作为组策略计算机启动脚本的一部分。 VBScript运行一个batch file。
... Set WshShell = CreateObject("WScript.Shell") WshShell.run """\\server\folder\subfolder\install.bat""", 0, True ...
batch file调用访问存储在同一子文件夹中的安装程序的msiexec 。
msiexec /i "\\server\folder\subfolder\myinstaller.msi" /moreOptions
我了解GP启动脚本在计算机帐户的上下文中运行 。
我已经授予NTFS共享\\server\folder的域计算机组读取权限。 而且我已授予域计算机组subfolder读取和执行权限。
我似乎有某种权限的障碍。 VBScript运行良好。 但batch file与myinstaller.msi有问题。
当我使用msiexec详细日志logging我看到“MainEngineThread返回2”在日志中。 这表明MSI文件不能以某种方式访问batch file。
我也尝试用复制命令replacebatch file的内容。
xcopy "\\server\folder\subfolder\myinstaller.msi" "C:\myinstaller.msi"
这导致复制0个文件。
但是我很确定batch file能够读取msi。 我用一个校验和命令replace内容,读取相同的msi文件,并返回正确的散列。
我错过了什么? 为什么msiexec和xcopy无法访问msi文件?
(防病毒程序不会在日志中显示任何被阻止的内容。)