上一篇簡單地闡述 OCS Inventory 遠端部署的系統配置與運作原理,今天將教大家如何使用 OCS Inventory 代理程式遠端安裝 MSI 應用程式。
OCS Inventory 透過 PROLOG_FREQ 來控制 Windows 代理程式運行的頻率,預設代理程式將每隔 24 小時與 OCS Inventory 聯繫一次。
由於我們想要套件早點生效以進行部署,將 PROLOG_FREQ 設定為 1 小時。即為指派遠端部署後一小時便會生效並開始下載及安裝。
下載 MSI 應用程式
我們使用 Firefox 作為演示範例
https://support.mozilla.org/en-US/kb/deploy-firefox-msi-installers
建立套件
先到 Deployment 點選 Build
作業系統選擇 Windows
選擇 Install MSI 應用程式
安裝 MSI 應用程式
預設參數
點選 Validate,顯示套件建立成功。
由於我們將 DOWNLOAD_RATIO_FRAG 設定為 5MB,所以套件被自動切割成 12 個片段。
查看套件存放路徑
ll /var/lib/ocsinventory-reports/download/1680080137
total 57180
drwxr-xr-x 2 www-data www-data 4096 Mar 29 16:55 ./
drwxrwxr-x 3 root www-data 4096 Mar 29 16:55 ../
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-1
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-10
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-11
-rw-r--r-- 1 www-data www-data 4875838 Mar 29 16:55 1680080137-12
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-2
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-3
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-4
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-5
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-6
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-7
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-8
-rw-r--r-- 1 www-data www-data 4875834 Mar 29 16:55 1680080137-9
-rw-r--r-- 1 www-data www-data 389 Mar 29 16:55 info
檢視一下套件 INFO 的內容
cat /var/lib/ocsinventory-reports/download/1680080137/info
<?xml version="1.0" encoding="UTF-8"?>
<DOWNLOAD ID="1680080137" PRI="5" ACT="EXECUTE" DIGEST="c0fd9a32d735674944a9b677e88a4631" PROTO="HTTPS" FRAGS="12" DIGEST_ALGO="MD5" DIGEST_ENCODE="Hexa" COMMAND="msiexec /i application.msi " NOTIFY_USER="0" NOTIFY_TEXT="" NOTIFY_COUNTDOWN="" NOTIFY_CAN_ABORT="0" NOTIFY_CAN_DELAY="0" NEED_DONE_ACTION="0" NEED_DONE_ACTION_TEXT="" GARDEFOU="rien" />
也可以直接在網頁上瀏覽
代理程式將透過套件的 INFO 來獲取所需的資訊
檢視啟用套件
先到 Deployment 點選 Activate
在 Available Packages 點選剛剛建立的套件
該套件預計的部署時間為 1 小時 41 分,由距離下一次盤點的時間與下載套件所需的時間構成。
若您想叫縮短遠端部署時間,建議的方式如下。
代理程式組態
在遠端部署套件之前,建議先檢查一下代理程式的組態設定是否正確。
預設路徑為 C:\ProgramData\OCS Inventory NG\Agent\ocsinventory.ini
需注意是否有設定 SSL 與 CaBundle 參數,以及是否有 cacert.pem 憑證。
[HTTP]
Server=http://your_ocsinventory_fqdn/ocsinventory
SSL=1
CaBundle=cacert.pem
AuthRequired=0
User=
Pwd=
ProxyType=0
Proxy=
ProxyPort=0
ProxyAuthRequired=0
ProxyUser=
ProxyPwd=
順便確認設定的 PROLOG_FREQ 是否已經改為 1 小時了
TTO_WAIT 代表下次 PROLOG 還要等待 3213 秒,約 53 分鐘。
[OCS Inventory Service]
PROLOG_FREQ=1
INVENTORY_ON_STARTUP=1
OLD_PROLOG_FREQ=1
TTO_WAIT=3213
遠端部署套件
到計算機的 Deployment,點選 Add Package。
遠端部署進階選項選擇 NO,點選 Validate。
勾選套件名稱,點選 Add Selected Packages。
遠端部署套件已成功指派
到計算機的 Deployment,該部署狀態處於 WAITING NOTIFICATION。
因為下次 PROLOG 還要等待 53 分鐘,我們不想等直接手動重啟服務。
此時部署狀態已經變更為 NOTIFIED
回到代理程式的下載路徑查看,已經將套件的 INFO 下載回來了。
預設路徑為 C:\ProgramData\OCS Inventory NG\Agent\Download
從代理程式的系統日誌可以查看,通訊伺服器要求進行套件下載。
套件 <1680080137> 加入下載佇列
預設路徑為 C:\ProgramData\OCS Inventory NG\Agent\OCSInventory.log
==============================================================================
Starting OCS Inventory Agent on Thursday, March 30, 2023 12:59:56.
AGENT => Running OCS Inventory Agent Version 2.9.1.0
AGENT => Using OCS Inventory FrameWork Version 2.9.1.0
AGENT => Loading plug-in(s)
AGENT => Using network connection with Communication Server
AGENT => Using Communication Provider <OCS Inventory cURL Communication Provider> Version <2.9.1.0>
AGENT => Sending Prolog
AGENT => Prolog successfully sent
AGENT => Inventory required
AGENT => Launching hardware and software checks
AGENT => Sending Inventory
INVENTORY => Inventory changed since last run
ADMIN INFO => Couple ( TAG <=> NA ) added to configuration file
AGENT => Inventory successfully sent
AGENT => Communication Server asked for Package Download
DOWNLOAD => Package <1680080137> added to download queue
DOWNLOAD => Download and setup tool successfully started
AGENT => Unloading communication provider
AGENT => Unloading plug-in(s)
AGENT => Execution duration: 00:00:21.
等待一段時間便可以看到所有片段都下載回來了,大約花了 1 小時。
由於我們使用預設的 Priority 5 進行部署,代理程式將會在每個 Period 的 Cycle 5 與 Cycle 10 進行下載。
從代理程式的下載日誌可以驗證這一點
預設路徑為 C:\ProgramData\OCS Inventory NG\Agent\Download.log
==============================================================================
Starting OCS Inventory Package Download and Setup Tool on Thursday, March 30, 2023 13:00:17.
DOWNLOAD => Running OCS Inventory Download Version 2.9.1.0
DOWNLOAD => Using OCS Inventory FrameWork Version 2.9.1.0
DOWNLOAD => Using network connection with Communication Server
DOWNLOAD => Using Communication Provider <OCS Inventory cURL Communication Provider> Version <2.9.1.0>
DOWNLOAD => Starting new period of 10 cycles
DOWNLOAD => Parsing directory <C:\ProgramData\OCS Inventory NG\Agent\download> for packages
DOWNLOAD => Package <1680080137> verified and added to process queue
DOWNLOAD => Downloading package fragment <1680080137-1>
DOWNLOAD => Downloading package fragment <1680080137-2>
DOWNLOAD => Starting new period of 10 cycles
DOWNLOAD => Parsing directory <C:\ProgramData\OCS Inventory NG\Agent\download> for packages
DOWNLOAD => Package <1680080137> verified and added to process queue
DOWNLOAD => Downloading package fragment <1680080137-3>
DOWNLOAD => Downloading package fragment <1680080137-4>
DOWNLOAD => Starting new period of 10 cycles
DOWNLOAD => Parsing directory <C:\ProgramData\OCS Inventory NG\Agent\download> for packages
DOWNLOAD => Package <1680080137> verified and added to process queue
DOWNLOAD => Downloading package fragment <1680080137-5>
DOWNLOAD => Downloading package fragment <1680080137-6>
DOWNLOAD => Starting new period of 10 cycles
DOWNLOAD => Parsing directory <C:\ProgramData\OCS Inventory NG\Agent\download> for packages
DOWNLOAD => Package <1680080137> verified and added to process queue
DOWNLOAD => Downloading package fragment <1680080137-7>
DOWNLOAD => Downloading package fragment <1680080137-8>
DOWNLOAD => Starting new period of 10 cycles
DOWNLOAD => Parsing directory <C:\ProgramData\OCS Inventory NG\Agent\download> for packages
DOWNLOAD => Package <1680080137> verified and added to process queue
DOWNLOAD => Downloading package fragment <1680080137-9>
DOWNLOAD => Downloading package fragment <1680080137-10>
DOWNLOAD => Starting new period of 10 cycles
DOWNLOAD => Parsing directory <C:\ProgramData\OCS Inventory NG\Agent\download> for packages
DOWNLOAD => Package <1680080137> verified and added to process queue
DOWNLOAD => Downloading package fragment <1680080137-11>
DOWNLOAD => Downloading package fragment <1680080137-12>
DOWNLOAD => Starting new period of 10 cycles
DOWNLOAD => Parsing directory <C:\ProgramData\OCS Inventory NG\Agent\download> for packages
DOWNLOAD => Package <1680080137> verified and added to process queue
DOWNLOAD => Building package <1680080137>
DOWNLOAD => Executing action <EXECUTE> for package <1680080137>
DOWNLOAD => Sending result code <SUCCESS> for package <1680080137>
轉換成圖表如下,代理程式在 Period 1 到 Period 6 下載所有片段,直到 Period 7 將所的片段重組,並執行安裝與回傳 SUCCESS 狀態。
檢視部署結果
回到計算機的 Deployment,便可以看到套件安裝成功與安裝時間。
回到 Available Packages,點選套件右下藍色的統計圖示。
可以看到該套件目前所有的部署狀態與計算機數量
今天我們已經把 OCS Inventory 代理程式如何遠端安裝 MSI 應用程式的詳細過程分析給大家了解,下一篇我們來教大家如何使用 OCS Inventory 代理程式遠端移除應用程式,敬請期待。
參考文件
https://wiki.ocsinventory-ng.org/05.Deployment/Windows/Summary