Verba PowerShell Deployment Toolkit
The Verba PowerShell Deployment Toolkit simplifies the process of the Verba deployments and upgrades in large environments. The toolkit consists of two PowerShell files:
- autoinstall.ps1 : Configurable PowerShell script for uninstalling, installing and upgrading Verba servers and components.
- verba.psm1 : A PowerShell library which contains a collection of functions usable for Verba deployments. For the documentation of the functions see: Verba PowerShell Deployment Library
Preparations
Verba Prerequisites
The Verba PowerShell Deployment Toolkit does not install the prerequisites of the Verba services (Java, Visual C++, etc.) nor does the registration of the SfB/Lync Filter application in the SfB/Lync pool. These have to be done manually.
Deployment Toolkit Prerequisites
The CLR Types for Microsoft SQL Server 2014 (x64) and the SQL Server Shared Management Objects (x64) have to be installed on the machine where the script is started.
- CLR Types for Microsoft SQL Server 2014 (x64) download: https://www.microsoft.com/en-us/download/details.aspx?id=27596
- SQL Server Shared Management Objects (x64) download: http://go.microsoft.com/fwlink/?LinkID=188439&clcid=0x409
Group Memberships
The Windows User who runs the script (logged in to the server) must be added to the following local groups at all Verba servers. If Windows authentication is used for the SQL access, then the database user also have to be added to these groups at the Media Repository and/or Single Servers.
- Administrators
- Remote Management Users
CredSSP Authentication
If Windows authentication is used for the SQL access, then the CredSSP authentication has to be enabled on some of the servers.
The following command has to be executed on the Media Repository and/or Single Servers in order to enable CredSSP authentication in server mode:
Enable-WSManCredSSP -Role server
The following command has to be executed on the server where the script started in order to enable CredSSP authentication in client mode:
Enable-WSManCredSSP -Role client -DelegateComputer targetservername
*At the -DelegateComputer parameter the Media Repository and/or the Single Server hostname has to be provided. It accepts wildcard also ("*", "*.domain.com").
For more information about the CredSSP authentication see this article: https://msdn.microsoft.com/en-us/powershell/reference/4.0/microsoft.wsman.management/enable-wsmancredssp
Database
If database mirroring is used, make sure that the primary database (based on the Verba configuration) is the principal!
Configuration
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:
Variable | Description | Example value |
---|---|---|
$path | 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\" |
$installpath | Verba installation directory. | "C:\Program Files\Verba\" |
$test | Tests the servers
| 1 |
$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 |
$install | Installs the Verba application on the servers. This setting is ignored when $upgrade=1 is used. | 1 |
$upgrade | 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. | 1 |
$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 |
$sslCertificate | 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" |
$servers | 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 Examples Install 9.0 with Verba signed certificates Install 9.0 with existing certificates | |
$startupType | The startup type of the Verba services:
| 2 |
$windowsAuth | Sets whether Windows Authentication will be used for the SQL connection. If turned on, then the specified windows user will be used for all Verba services. If $sqlAuth is 0, then the windows user will be used for the SQL access. The user can be specified at the $windowsUser and $windowsPassword values. | 0 |
$windowsUsername | Windows username for the Verba services and SQL connection. In case of SfB/Lync Filter installation this account going to be used as service account. | "contoso\verba-service" |
$windowsPassword | The password of the windows user. | "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 turned on and $windowsAuth is 0, then all Verba services will run as Local System. The user can be specified at the $sqlUser and $sqlPassword values. | 1 |
$sqlUsername | SQL username for the SQL connection. | "verba-user" |
$sqlPassword | The password of the SQL user. | "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.