我正在创建一个脚本来自动部署 Office 2010。Office 07 的安装方式无法提供干净的升级路径,为了以正确的方式完成安装,我正在使用 Microsoft 提供的 offscrub07.vbs 脚本清除它。
由于某种原因,当作为启动脚本的一部分运行时,它会生成错误“注册表访问权限不足”:
这导致脚本退出而不删除 Office 07。这是调用 vb 脚本的代码片段。
call cscript "%DeployServer%\Offscrub07.vbs" ProPlus /bypass 1 /q /s /NoCancel
Office 2010 的安装程序作为同一脚本的一部分启动,并在干净的测试机器上成功运行,因此看起来它应该具有足够的权限。我记得读过 UAC 可以阻止某些登录脚本运行,但我找不到任何地方说这适用于启动脚本。
我是否需要更改 GPO 设置以允许调用的脚本以提升的权限运行,或者以其他方式执行此操作。我陷入了不知道自己不知道什么的情况,我的 google-fu 让我失望了。
答案1
花了一段时间,我发现只要我问一个问题,很快就会找到答案。
只有明确指定为 GPO 一部分的脚本才会以提升的权限运行。对其他脚本的调用以内置管理员帐户的身份运行,但会生成 UAC 请求,该请求会自动失败,因为没有用户登录来提示。
为了处理外部呼叫,内置管理员帐户必须能够在没有提示的情况下提升权限。此设置可以在以下位置更改:
计算机配置 | 策略 | Windows 设置 | 安全设置 | 本地策略 | 安全选项 | 用户帐户控制:内置管理员帐户的管理员批准模式:已禁用
奇怪的是,默认设置是禁用,但除非手动设置,否则它不起作用。