Deployment Toolkit Prerequisites
The CLR Types for Microsoft SQL Server 2017 (x64) and the SQL Server Shared Management Objects 2017 (x64) have to be installed on On the machine where the script is started. These features are part of the SQL Server extended features and tools set, which can be downloaded using the following link: https://www.microsoft.com/en-us/download/details.aspx?id=55992. Other versions can also be found on the Microsoft download portal.Verba Powershell Deployment Toolkit will be started, the SqlServer Powershell module has to be installed. Do the following steps in order to install the module:
Step 1 - Download and install PowerShell 5.2. After the installation, restart the machine.
Step 2 - Open PowerShell as administrator.
Script execution may be restricted in the domain. In order to remove the restriction, execute the following command:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine -Force
Step 3 - Execute the following command. This will set the security protocol being used at the subsequent commands when communicating through the internet.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Step 4 - Execute the following command. When asked, type in Yes and press enter to allow the operation. This will download the NuGet package provide provider, and registers it as the default repository for PowerShell modules.
Step 5 - Execute the following command. When asked, type in Yes and press enter to allow the operation. This will download the SqlServer module.
Install-Package -Name SqlServer -RequiredVersion 21.1.18235
The Windows User who runs the script (logged in to the server) must be added to the following local groups at all Verba servers.
The Verba PowerShell Deployment Toolkit can be configured by editing the autoinstall.ps1 file. The configuration part can be found at the beginning of the file, between the "Configuration" and "End of configuration" lines. Edit the values of the following variables:
|$installerPath||A network folder which contains the Verba executables (VerbaRecording.msi, VerbaAdditionalRoles.msi). The network folder has to be accessible for the windows user which is used for running the script.||"\\storage\Verba\8.8\"|
|$tempPath||Folder path for temporary files. This folder will be created on each server.||"C:\verba_install\"|
|$appPath||Verba installation directory.||"C:\Program Files\Verba\"|
Tests the servers
|$uninstall||Sets whether the script will uninstall the specified servers. The script removes the Verba software, the registry set and the files from the server. This setting is ignored when $upgrade=1 is used.||1|
Installs the Verba application on the servers. This setting is ignored when $upgrade=1 is used.
Sets whether the script will upgrade the specified servers. The upgrade involves the following process:
If turned on, then the $uninstall, $install, $backupconfiguration and $restoreconfiguration values will be ignored.
|$backupconfiguration||Backups the list of the activated services and the registry from the servers. The filenames going to be hostnames of the servers. If the files already exist, the filename going to end with .bak. This setting is ignored when $upgrade=1 is used.||1|
|$restoreconfiguration||Restores the list of the activated services and the registry from the files named with the corresponding server hostnames. This setting is ignored when $upgrade=1 is used.||1|
|$apiUsername||Verba API username.||verbaapi|
|$apiPassword||Verba API password.|
|$AdministratorUsername||Verba Administrator username.||administrator|
|$AdministratorPassword||Verba Administrator password.|
|$keepLogs||Sets whether the script should remove the log folder in case of uninstalling or upgrading.||1|
|$resetApiPassword||Set to $true if you want to reset the API user's password. It is recommended when you are upgrading from 8.9.||$false|
|$removeLegacyCertificateSettings||Set to $true if you want to delete old legacy certificate settings from the profiles. It is recommended when you are upgrading from 8.9.||$true|
The properties of the SSL certificate generated for the Media Repository or Single server. In case of multiple Media Repository server, this setting also has to be multiplied. ($sslCertificate1, $sslCertificate2, ...) Usage:
New-VerbaCertificateRequest -Subject <string> [-SAN <string> -FirendlyName <string> -Country <string> -State <string> -City <string> -Organization <string> -OrganizationUnit <string>]
|New-VerbaCertificateRequest -Subject "testmr1.verbatest.local" -SAN "testm1, 10.4.0.12"|
|$skipNodeRegistrationCheck||If enabled, it turns off the automatic node registration at the installed Verba servers.||$false|
List of Verba servers and their role and certificate configuration.
Install server with legacy configuration without Advanced API
Install server with Advanced API with existing certificate
Install server with Advanced API and generate Verba signed certificate
Install Verba 9.x with Verba signed certificates
Install Verba 9.x with existing certificates
The startup type of the Verba services:
|$serviceUsername||The Windows domain account used as a service account in the case of the Verba SfB/Lync Filter installation.||"contoso\verba-service"|
|$servicePassword||The password of the Windows domain account.||"P@ssw0rd"|
|$databaseHost||The hostname of the server where the Verba database hosted.||"SQLSERVER"|
|$databaseName||The name of the Verba database.||"Verba"|
|$sqlAuth||Sets whether SQL Authentication will be used for the SQL connection. If set to 0, then Windows authentication will be used for the SQL connection.||1|
|$sqlUsername||Username for the SQL connection. If the $sqlAuth setting is set to 1, then a SQL user has to be provided. If the $sqlAuth setting is set to 0, then a Windows domain user has to be provided in "domain\user" format.||"verba-user"|
|$sqlPassword||The password of the SQL connection.||"P@ssw0rd"|
|$enableCouldMode||Sets whether cloud mode will be used for the Node Manager||1|
|$mrPoolName||The Media Repository pool name.||"testmr1"|
|$mrPortNumber||The port used at the Media Repository for the incoming registration requests.||4432|
|$tokenPassword||The password of the registration token.||"P@ssw0rd"|
When the configuration is done, the script can be started.