Skip to main content

Overview

This script performs much of the Kaseya Onboarding Audit and outputs the results to an Excel spreadsheet in the script directory.

Requirements

  • Requires an API User account with both REST and Data Warehouse access configured in the VSA.
  • On-Prem Audit requires IP whitelisting to access. In lieu of whitelisting, the script can be run on the client's VSA server via the Agent Procedure "Shared/ProVal Content Repository/Vsa/Onboarding Audit." Implementation instructions for this procedure are located at ProVal Documentation.
  • The REST API requires a native VSA user. If "UserName must be an email address" is enabled in System > Configuration > Default Settings, this must be temporarily disabled during API account creation.

Process

The script uses VSAAPI to perform the following REST API requests and saves the results in CSV format in the 'CSVs' subfolder if data was returned:

  • System/Users
  • System/Roles
  • System/Scopes
  • Automation/AgentProcs
  • Assetmgmt/Agents

Additionally, it uses VSAAPI to perform the following Data Warehouse API requests and saves the results in CSV format in the 'CSVs' subfolder if data was returned:

  • DiscoveryActiveDirectoryDomainSummary
  • DiscoveryLanWatchNetworks
  • LanCacheAssignments
  • PatchPolicyMembers
  • Patches
  • PatchConfigurations
  • SoftwareManagementAlertProfiles
  • SoftwareManagementByAgentStats
  • SoftwareManagementDeploymentProfiles
  • MonitorEventSetAgentAssignments
  • MonitorSetAgentAssignments
  • MonitorSNMPSetAgentAssignments

The script uses the ImportExcel module to write data to individual worksheets in an Excel spreadsheet named AuditResults.xlsx. It automatically creates the following pivot tables according to auditing best practices, if data for the category was returned by the API:

  • Windows Build Versions
  • Patch Management Policies
  • Patch Reboot Actions
  • Patch AutoUpdate Configurations
  • Patch Statuses
  • Missing Approved Patches
  • SM Analysis Profiles
  • SM Assigned Deploy Profiles
  • SM Compliance
  • SM Missing Patches
  • Counter Monitors
  • Event Monitors
  • SNMP Monitors

Payload Usage

All parameters are required. The API account must be configured in VSA prior to running, and REST API/Data Warehouse scopes must be provided. The Data Warehouse token must also be gathered.

./Get-VSAAuditReports.ps1 -BaseURL https://vsa.provaltech.com -VsaUserName apiServiceAccount -RestApiToken abcd-1234-efgh-5678 -DataWarehouseApiToken abcd-1234-efgh-5678

Parameters

ParameterRequiredTypeDescription
BaseURLTrueStringVSA Base URL
ClientNameTrueStringClient Name for Audit Directory
VsaApiUserTrueStringAPI User Name
RestApiTokenTrueStringREST API Token
DataWarehouseApiTokenTrueStringData Warehouse API Token

Output

Location of output for log, result, and error files:

./Get-VSAAuditReports-log.txt
./Get-VSAAuditReports-error.txt
$env:ProgramData/_automation/StackContent/$ClientName/Audit/AuditResults.xlsx
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/AgentProcedures.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/Agents.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/discoveryDomainList.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/discoveryLanWatchNetworks.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/LanCacheAssignments.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/MachineGroups.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/MonitorEventSetAgentAssignments.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/MonitorSetAgentAssignments.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/MonitorSNMPSetAgentAssignments.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/PatchConfigurations.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/Patches.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/PatchPolicyMembers.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/Roles.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/Scopes.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/SoftwareManagementAlertProfiles.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/SoftwareManagementByAgentStats.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/SoftwareManagementDeploymentProfiles.csv
$env:ProgramData/_automation/StackContent/$ClientName/Audit/CSVs/Users.csv