Synology Drive Client GPO批量部署

官网手册
https://kb.synology.cn/zh-cn/UG/Synology_Drive_Client_Mass_Deployment_Guide/1

测试环境

域控:windows server 2016
客户端:windows 11
Drive:3.5.0

环境准备

首先需要在Window Server或者其他文件服务器中建立一个文件夹用于存放Drive客户端msi安装包以及自动部署的脚本,这边使用的是DriveDeployment文件夹。

然后选择共享此文件夹,并在共享名称文本字段中输入"DriveDeployment$"以创建隐藏共享。为了防止缓存导致用户无法安装最新版本安装包,需要额外在缓存中禁止用户使用脱机文件功能。

在权限中配置Everyone允许读取:

调整配置文件

请参考官网配置文件说明进行调整:
https://kb.synology.cn/zh-cn/UG/Synology_Drive_Client_Mass_Deployment_Guide/4

这边是示例配置:
使用本地管理员连接drive,配置为登录计算机域用户进行任务建立。
禁用SSL加密传输。
将域用户的个人文件夹使用按需同步策略同步到计算机的个人用户的nashome目录下。
调整全局设置,使用“本地删掉的文件将在您的NAS上同步删除”策略。

需要注意的是,如果需要配置"as_user","username"需要是管理员用户。
请确认"username"与as_user"有使用drive套件的权限,并且有访问"sharefolder"的权限:

Win11案例配置档如下:

{
   "connections" : [
      {
         "server_address" : "10.61.21.246",
         "username" : "admin",
         "password" : "*******",
         "as_user" : "zhugh\\${username}",
         "enable_ssl" : false,
         "sync_sessions" : [
            {
               "sharefolder" : "home",
               "remote_path" : "/",
               "local_path" : "C:\\Users\\${username}\\nashome"
            }
         ]
      }
   ],
   "global_settings" : {
      "general" : {
         "enable_startup" : true,
         "relink_policy" : 1,
         "conflict_policy" : 0
      },
      "proxy" : {
         "type" : 0,
         "enable_authentication" : false,
         "password" : "",
         "username" : ""
      }
   }
}

Win7案例配置档如下(由于Win7不支持按需同步功能所以需要调整配置档关闭):

{
   "connections" : [
      {
         "server_address" : "10.61.21.246",
         "username" : "admin",
         "password" : "*******",
         "as_user" : "zhugh\\${username}",
         "enable_ssl" : false,
         "sync_sessions" : [
            {
               "sharefolder" : "home",
               "remote_path" : "/",
               "local_path" : "C:\\Users\\${username}\\nashome",
               "sync_direction" : 0,
               "use_ondemand_sync" : false
            }
         ]
      }
   ]
}

测试配置文件

将drive client的所有同步以及备份任务删除恢复到以下状态,然后退出drive client:

使用以下命令启用drive client并调用配置文件:

需要调整"–auto-setup"后的配置档文件路径,例如配置文件路径为"C:\Users\Administrator\Downloads\DriveDeployment.json"

32位:

"%ProgramFiles(x86)%\Synology\SynologyDrive\bin\launcher.exe" --auto-setup C:\Users\Administrator\Downloads\DriveDeployment.json

64位:

"%ProgramFiles%\Synology\SynologyDrive\bin\launcher.exe" --auto-setup C:\Users\Administrator\Downloads\DriveDeployment.json

运行命令后查看drive client是否有正常启动并自动配置连接任务。

组策略配置

在域控组策略管理中添加域的组策略:

如果需要对指定用户或者用户组生效,需要在安全删选中删除"Authenticated Users"群组并添加"Domain Computers"以及希望应用该策略的用户或群组:

在设置中编辑该策略:

普通域用户有计算机本地管理员权限

如果普通域用户有计算机本地管理员权限(域用户可以在计算机上安装程序)

请修改安装系统脚本 driveadmininstall.bat 并添加脚本到共享文件夹(DriveDeployment)中。
需要按实际修改脚本中drivemsi32、drivemsi64安装包,以及configfile配置文件路径。

@echo off
set "drivemsi32=\\ZHUGHSERVER\DriveDeployment$\Synology Drive Client-3.5.0-16084-x86.msi"
set "drivemsi64=\\ZHUGHSERVER\DriveDeployment$\Synology Drive Client-3.5.0-16084-x64.msi"
set "configfile=\\ZHUGHSERVER\DriveDeployment$\DriveDeployment.json"
set "driveappPath=%localappdata%\SynologyDrive\data"

if  not exist "%driveappPath%" (  
    if "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
        msiexec /i "%drivemsi64%" /qn CONFIGPATH="%configfile%"
    ) else (
        msiexec /i "%drivemsi32%" /qn CONFIGPATH="%configfile%"
    )
) else (
    exit
)

在组策略"用户配置"->"策略"->"Windows 设置"->"脚本(登录/注销)"编辑"登录"的属性添加共享文件夹(DriveDeployment)中的脚本即可。

普通域用户没有计算机本地管理员权限

如果普通域用户没有计算机本地管理员权限(域用户在计算机上安装程序需要额外输入管理员或者域管理员账号密码)

在组策略"用户配置"->"策略"->"Windows 设置"->"软件设置"->"软件安装"中 新增 数据包,分别添加共享文件夹(DriveDeployment)中的x86与x64安装包。
部署策略为"已分配"、"登录时安装此应用程序",安装用户界面选项为"基本"。

对于x86安装包需要额外在高级中取消勾选"使此32位X86应用程序对Win64计算机可用":

在"升级"中删除升级策略:

完成发布任务后状态如下:

请修改安装系统脚本 driveuserinstall.bat 并添加脚本到共享文件夹(DriveDeployment)中。
需要按实际修改脚本中configfile配置文件路径。

@echo off
set "configfile=\\ZHUGHSERVER\DriveDeployment$\DriveDeployment.json"
set "driveappPath=%localappdata%\SynologyDrive\data\session"
set "launcherPath86=%ProgramFiles(x86)%\Synology\SynologyDrive\bin\launcher.exe"
set "launcherPath64=%ProgramFiles%\Synology\SynologyDrive\bin\launcher.exe"

if  not exist "%driveappPath%" (  
    "%launcherPath86%" --auto-setup "%configfile%"
    if errorlevel 1 (
        "%launcherPath64%" --auto-setup "%configfile%"
    ) else (
        exit
    )
) else (
    exit
)

在组策略"用户配置"->"策略"->"Windows 设置"->"脚本(登录/注销)"编辑"登录"的属性添加共享文件夹(DriveDeployment)中的脚本即可。

客户端电脑强制更新组策略

gpupdate /force