關於 App-V 報告
適用於:
- Windows 10
- Windows 11
Application Virtualization (App-V) 包含內建的報告功能,可收集執行 App-V 用戶端和虛擬應用程式套件使用方式之計算機的相關信息。 您可以使用這項資訊,從集中式資料庫產生報告。
App-V 報告概觀
下列清單顯示App-V中報告的端對端高階工作流程。
App-V 報表伺服器需要下列專案:
Internet Information Service (IIS) Web 伺服器角色
在 IIS /安全性) 下 (Windows 驗證角色
使用 SQL Server Reporting Services 安裝及執行的 SQL Server (SSRS)
若要確認 SQL Server Reporting Services 正在執行,請在將載入 App-V 報告的伺服器上,以系統管理員身分在網頁瀏覽器中輸入
https://localhost/Reports
。 SQL Server Reporting Services 首頁應該會出現。
安裝 App-V 報表伺服器和相關聯的資料庫。 如需安裝報表伺服器的詳細資訊,請參閱 如何在獨立計算機上安裝報表伺服器,並將其連線到資料庫。 設定執行 App-V 用戶端的電腦應將數據傳送至報表伺服器的時間。
如果您不是使用 Configuration Manager 之類的電子軟體發佈系統來檢視報表,則可以在 SQL Server Reporting Service 中定義報表。
注意
如果您使用 Configuration Manager 與 App-V 整合,則大部分的報告都是從 Configuration Manager 產生,而不是從 App-V 產生。
以系統管理員身分使用 Import-Module AppvClient 匯入 App-V Windows PowerShell 模組之後,請啟用 App-V 用戶端報告。 此範例 Windows PowerShell 命令會啟用 App-V 報告:
Set-AppvClientConfiguration -ReportingServerURL <url>:<port> -ReportingEnabled 1 -ReportingStartTime <0-23> -ReportingRandomDelay <#min>
若要立即傳送 App-V 報表數據,請在 App-V 用戶端上執行 Send-AppvClientReport 。
如需在App-V用戶端上設定報告的詳細資訊,請參閱 關於用戶端組態設定。 若要使用 Windows PowerShell 管理 App-V 報告,請參閱 如何使用 PowerShell 在 App-V 用戶端上啟用報告。
報表伺服器從 App-V 用戶端接收數據之後,會將數據傳送至報表資料庫。 當資料庫接收並處理客戶端數據時,會將成功的回復傳送至報表伺服器,然後通知 App-V 用戶端。
當 App-V 用戶端收到成功通知時,它會清空數據快取以節省空間。
注意
根據預設,快取會在伺服器確認收到數據之後清除。 您可以手動設定客戶端來儲存資料快取。
如果 App-V 用戶端裝置未收到來自伺服器的成功通知,它會將數據保留在快取中,並嘗試在下一個設定的間隔重新傳送數據。 用戶端會繼續收集數據,並將其新增至快取。
App-V 報表伺服器常見問題
下列各節提供App-V報告運作方式常見問題的解答。
報告資訊傳送至報告資料庫的頻率為何?
頻率取決於執行 App-V 用戶端報告組態的電腦。 您必須設定手動傳送報告數據的頻率或間隔,因為預設不會啟用App-V報告。
哪些資訊會儲存在報表伺服器資料庫中?
下列資訊會儲存在報表資料庫中:
- 在執行 App-V 用戶端的電腦上執行的作業系統:主機名、版本、Service Pack、類型 - 用戶端/伺服器、處理器架構。
- App-V 用戶端資訊:版本。
- 已發佈的套件清單:GUID、版本 GUID、名稱。
- 應用程式使用量資訊:名稱、版本、串流伺服器、使用者 (網域別名) 、套件版本 GUID、啟動狀態和時間、關機時間。
傳送至報表伺服器的平均資訊量為何?
視情況而定。 三組資料可以傳送至報表伺服器:
- 操作系統和 App-V 用戶端資訊,每次傳送至伺服器時大約是 150 個字節。
- 已發佈的套件清單,大約每 30 個套件 7 KB。 只有當套件清單以發行重新整理更新時才會傳送,但此重新整理不常執行;如果沒有任何變更,則不會傳送此資訊。
- 虛擬應用程式使用量資訊大約是每個事件0.25 KB。 如果兩者都發生在傳送資訊之前,則開啟和關閉計數為一個事件。 透過排程工作傳送資訊時,只有上次成功上傳後的數據會傳送至伺服器。 如果透過 Windows PowerShell Cmdlet 手動傳送,則會有名為 DeleteOnSuccess 的選擇性自變數,可控制下次是否需要重新傳送數據。
例如,如果開啟並關閉 20 個應用程式,且報告資訊排定每天傳送,則一般每日流量應該大約是 0.15 KB + 20 × 0.25 KB,或大約 5 KB/使用者。
我可以排程報告嗎?
是。 除了使用 Windows PowerShell Cmdlet 手動傳送報告 (Send-AppvClientReport) ,還可以排程工作,使其自動發生。 有兩種方式可以排程報告:
使用 Windows PowerShell Cmdlet: Set-AppvClientConfiguration。 例如:
Set-AppvClientConfiguration -ReportingEnabled 1 -ReportingServerURL http://any.com/appv-reporting
如需用戶端組態設定的完整清單,請移至 [關於用戶端組態設定 ],並尋找下列專案: ReportingEnabled、 ReportingServerURL、 ReportingDataCacheLimit、 ReportingDataBlockSize、 ReportingStartTime、 ReportingRandomDelay、 ReportingInterval。
使用組策略。 如果使用域控制器進行散發,則設定會與先前所列的設定相同。
注意
組策略設定會覆寫使用 Windows PowerShell 設定的本機設定。
App-V 用戶端報告
若要使用 App-V 報告,您必須啟用並設定 App-V 用戶端。 若要在用戶端上設定報告,請使用 Windows PowerShell Cmdlet Set-AppVClientConfiguration 或組策略 ADMX 範本。 如需 Windows PowerShell Cmdlet 的詳細資訊,請參閱 關於用戶端組態設定。 下一節提供設定 App-V 用戶端報告的 Windows PowerShell 命令範例。
使用 Windows PowerShell 設定 App-V 客戶端報告
下列範例示範 Windows PowerShell 參數如何設定 App-V 用戶端的報告功能。
注意
您也可以使用 App-V ADMX 範本中的組策略設定來設定下列設定工作。 App-V 設定位於 [計算機>設定] [系統管理範>本] [系統>App-V] 底下。
在執行App-V用戶端的電腦上啟用報告和起始資料收集
使用下列命令,在執行 App-V 用戶端的電腦上啟用報告和起始日期收集:
Set-AppVClientConfiguration –ReportingEnabled 1
將客戶端設定為自動將數據傳送至特定報表伺服器
若要設定客戶端自動將資料傳送至特定報表伺服器,請使用下列格式的命令:
Set-AppVClientConfiguration -ReportingServerURL http://MyReportingServer:MyPort/ -ReportingStartTime 20 -ReportingInterval 1 -ReportingRandomDelay 30
這個範例命令會設定客戶端自動將報告資料傳送至報表伺服器 URL http://MyReportingServer:MyPort/
。 報告數據會根據會話產生的隨機延遲,每天從下午 8:00 到下午 8:30 傳送至 URL。
限制客戶端數據快取的大小
若要限制客戶端的數據快取大小,請使用具有下列格式的命令:
Set-AppvClientConfiguration –ReportingDataCacheLimit 100
此範例命令會將App-V用戶端電腦的報告快取大小上限設定為100 MB。 如果在將數據傳送至伺服器之前達到快取限制,則記錄會復原,並視需要覆寫數據。
設定在客戶端與伺服器之間透過網路傳輸的數據區塊大小
若要設定資料區塊大小,請使用具有下列格式的命令:
Set-AppvClientConfiguration –ReportingDataBlockSize 10240
此範例命令會將數據區塊的大小上限指定為 10,240 MB。
收集的數據類型
下表顯示您可以使用 App-V 報告收集的資訊類型。
用戶端資訊 | 套件資訊 | 應用程式使用狀況 |
---|---|---|
主機名稱 | 套件名稱 | 開始和結束時間 |
App-V 用戶端版本 | 套件版本 | 執行狀態 |
處理器架構 | 套件來源 | 關機狀態 |
作業系統版本 | 快取的百分比 | 應用程式名稱 |
Service Pack 層級 | 應用程式版本 | |
操作系統類型 | 使用者名稱 | |
線上群組 |
用戶端會以 .xml 格式收集並儲存此數據。 默認會隱藏數據快取,而且需要系統管理員許可權才能開啟 XML 檔案。
將數據傳送至伺服器
您可以設定執行 App-V 用戶端的電腦自動將資料傳送至指定的報表伺服器。 若要指定伺服器,請使用 Set-AppvClientConfiguration Cmdlet 搭配下列設定:
- ReportingEnabled
- ReportingServerURL
- ReportingStartTime
- ReportingInterval
- ReportingRandomDelay
設定先前的設定之後,您必須建立排程的工作。 排程的工作會連絡 ReportingServerURL 設定所指定的伺服器,並起始傳輸。 如果您想要在排程的時間以外手動傳送數據,請使用下列 Windows PowerShell Cmdlet:
Send-AppVClientReport –URL http://MyReportingServer:MyPort/ -DeleteOnSuccess
如果先前已設定報表伺服器,則可以省略 –URL 參數。 或者,如果數據應該傳送至替代位置,請指定不同的 URL 來覆寫為此數據收集設定的 ReportingServerURL 。
-DeleteOnSuccess 參數表示如果傳輸成功,則會清除數據快取。 如果未指定 transfer-status,則不會清除快取。
手動收集數據
您也可以使用 Send-AppVClientReport Cmdlet 手動收集數據。 無論是否有現有的報表伺服器,此解決方案都很有説明。 下列清單顯示有關收集報表伺服器或不含報表伺服器之數據的相關信息。
使用報表伺服器 | 沒有報表伺服器 |
---|---|
f 您有現有的 App-V 報表伺服器,請建立自定義的排程工作或腳本。 指定用戶端以所需的頻率將數據傳送至指定的位置。 | 如果您沒有現有的 App-V 報表伺服器,請使用 –URL 參數將數據傳送至指定的共用。 例如: Send-AppVClientReport –URL \\Myshare\MyData\ -DeleteOnSuccess 上一個範例會將報告數據傳送至 \\MyShare\MyData\ -URL 參數所指出的位置。 傳送數據之後,會清除快取。 |
注意
如果指定了報表伺服器以外的位置,則會以 .xml 格式傳送數據,而不會進行其他處理。
建立報表
若要使用App-V擷取報表資訊並建立報表,您必須使用下列其中一種方法:
Microsoft SQL Server Reporting Services (SSRS) - Microsoft SSRS 可與 Microsoft SQL Server 搭配使用。 當您安裝 App-V 報表伺服器時,不會安裝 SSRS。 它必須分開部署,才能產生相關聯的報表。 如需詳細資訊,請參閱什麼是 SSRS) SQL Server Reporting Services (?一文。
文稿- 您可以直接針對 App-V 報告資料庫編寫腳本來產生報告。 例如:
預存程式:
spProcessClientReport 排定在午夜或上午 12:00 執行。
若要執行 Microsoft SQL Server 排程預存程式,Microsoft SQL Server Agent 必須執行。 請確定 Microsoft SQL Server Agent 已設定為 [自動啟動]。 如需詳細資訊,請參閱自動啟動 SQL Server Agent (SQL Server Management Studio) 。
當您使用App-V資料庫文稿時,也會建立預存程式。
您也應該確定報表伺服器 Web 服務的最大並行 Connections 設定為伺服器可管理的值,而不會影響可用性。 Reporting Web Service 的建議並行 Connections 數目上限為 10,000。