如何使用组策略部署 EXE 文件
在本教程中,您将学习如何使用组策略部署 exe 安装文件。
如果您需要安装 MSI 文件,请查看我之前的教程如何使用 GPO 部署软件。
组策略软件部署不支持 exe 文件。您将需要使用脚本和组策略来通过 exe 部署软件。我将在下面向您展示这些步骤。
我不推荐这种方法,因为它需要用户具有管理员权限和运行脚本的能力。我强烈建议用户不要拥有这些权利。如果必须使用组策略部署 exe,请尝试授予临时权限,部署完成后删除运行脚本的权限和能力。首选方法是使用可以在远程计算机上安全安装软件的第三方程序。这些程序可能很昂贵,所以我理解使用免费选项的愿望。我以前去过那里,有时由于缺乏资金或管理限制而别无选择。
部署 EXE 的步骤:
- 步骤 1:配置 PowerShell 脚本
- 步骤 2:配置 UNC 共享
- 步骤 3:配置 GPO 设置
- 步骤 4:重新启动计算机
步骤 1:配置 PowerShell 脚本
首先,您需要配置一个脚本。该脚本需要检查程序是否已安装,如果没有安装,则安装,如果已安装,则不执行任何操作。我使用的是 PowerShell,但您也可以使用批处理文件。
这是我正在使用的脚本:
#Script to install exe via GPO
$folder = 'C:\Program Files\7-Zip'
if (-not (Test-Path -Path $Folder)) {
start-process -FilePath "\\srvwef\software\7z2107-x64.exe" -ArgumentList '/S'
}
else { }让我解释一下每一行的作用。
$folder = 'C:\Program Files\7-Zip'上面的行将 $Folder 设置为目录以检查它是否已存在。这将在下一行中用于确定程序是否已安装。将路径更改为您要检查的任何程序。
if (-not (Test-Path -Path $Folder))此行正在测试 $Folder 的路径是否不存在。如果它不存在,它将开始安装过程。如果它确实存在,它将移动到 else 行并且不执行任何操作。
start-process -FilePath "\\srvwef\software\7z2107-x64.exe" -ArgumentList '/S'如果 $Folder 不存在,则此行将启动安装。我使用 UNC 路径和 /S 参数,因此它是静默安装。用户将需要访问安装程序的位置。
else {}如果 $Folder 的路径存在,脚本将移至此行并且不执行任何操作。
这是一个非常基本的脚本。您可以修改它并添加日志记录或其他选项。这就是 PowerShell 的好处,您可以根据需要对其进行自定义。
保存脚本,因为这将在下一步中使用。我将脚本保存为 install.ps1
步骤 2:配置 UNC 共享
您需要为 EXE 安装文件提供一个安全的分发点。它需要可供远程计算机和用户访问。我在上一个部署 MSI 文件的教程中详细介绍了如何创建安全网络共享。如果您需要分步说明,请查看。
步骤 3:配置 GPO 设置
现在让我们配置组策略。
创建新的 GPO 并将其链接到包含您的用户的 OU。我将向我的会计 OU 添加一个新的 GPO。
为 GPO 命名。然后编辑GPO
导航到用户配置 > Windows 设置 > 脚本(登录/注销)
点击右侧的“登录”。
然后单击“PowerShell 脚本”或“脚本”(如果使用批处理文件)。
单击“添加”按钮,然后单击“浏览”。
打开浏览器窗口后,您想要将 .ps1 文件复制并粘贴到此窗口中。不要修改路径,这是GPO的路径,需要将脚本复制到该路径中。你的道路看起来会与我的不同。
单击“确定”,然后再次单击“确定”。您应该回到主屏幕。这样就完成了 GPO 配置。
第 4 步:重新启动计算机
现在重新启动,登录,软件应该会安装。
如果软件是静默安装,用户登录时将看不到任何内容,它将在后台安装,无需用户交互。除非您在脚本中添加一些日志记录,否则您将不知道它是否安装。这是使用组策略安装软件的缺点之一。如果这是您将长期使用的方法,那么我会在脚本中添加一些日志记录,以帮助跟踪失败和成功的安装。



