Jump to content

Sideloaded Webroot integration


AC_Martin_J

Recommended Posts

Hey guys! 

 

I've been testing the Webroot trial recently and it has been working fine, but I found something where there is room for improvement.. 

The Webroot installation can be done through Pulseway already, and everything that's needed is basically the Key Code assigning the client to the corresponding Webroot dashboard. This method works fine, but my idea is to automate as many of these tasks as possible, hence Powershell come in to play. Webroot have published a document with other deployment methods, such as GPO or MSI, and I'm mostly interested in the latter. So I created a script for the installation task, which is working fine in itself. But I also found out that the client is shown as "Not installed" in Pulseway afterwards. I spoke with support representatives from Pulseway about this, and a workaround is to use the "Install"-button in Pulseway to create the connection. They told me that the software won't be reinstalled by doing this, but simply associate the agent with Pulseway.. It got me thinking.. There should be a way to trigger this "Install"-function elsewhere, and a smooth solution would be if it could be triggered from the same script as the installation. Maybe something is written in the registry (client side), that we could use?

Does anyone else have a solution on how to perform such a task?

 

Webroot deployment documentation (Command line options and other install methods)

Here is the script that I've got so far, feel free to use it, if you find it useful! 

#Replace "KEYCODEHERE" at the arguments-variable with the Key Code shown in your own Webroot Dashboard.
#Example: 'GUILIC=XXXX-XXXX-XXXX-XXXX-XXXX CMDLINE=SME,quiet /qn /l*v install.log'

$tempdir = get-item -Path "$Env:SystemDrive\Temp" -ErrorAction SilentlyContinue

if ($tempdir -eq $null)
{
    New-Item -ItemType "Directory" -Path "$Env:SystemDrive\Temp"
    Write-Host 'Creating Temp-Dir.'
}

$Downloadurl = 'http://anywhere.webrootcloudav.com/zerol/wsasme.msi'
Write-Host 'Downloading executable to local storage.'
$Executable = "$Env:SystemDrive\Temp\wsasme.msi"
$Arguments = 'GUILIC=KEYCODEHERE CMDLINE=SME,quiet /qn /l*v install.log'
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($Downloadurl, $Executable)
Start-Process $Executable -ArgumentList $Arguments -Wait
Write-Host 'Installing'
Remove-Item -Path $Executable
Write-Host 'Cleaning up locally stored data.'

Start-Sleep -s 30

$program = 'Webroot'

Write-Host 'Verifying installation...'
    $32bit = ((Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall") |
        Where-Object { $_.GetValue( "DisplayName" ) -like "*$program*" } ).Length -gt 0;

    $64bit = ((Get-ChildItem "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall") |
        Where-Object { $_.GetValue( "DisplayName" ) -like "*$program*" } ).Length -gt 0;


    if ($32bit -eq $True -or $64bit -eq $True)
    {
        Write-Host "$program has been successfully installed."
    }

 

// Martin Johansson

Edited by AC_Martin_J
Link to comment
Share on other sites

Thank you Martin for this. I had a few devices that were always failing to install Webroot and it wasn't made clear before that you could manually install them as you described. I just installed the Webroot agent, then issued the Install command from Pulseway and all is well. 

To be honest, I wish there was a little bit more information why an install failed in the first place, as I had no issues at all installing it manually. 

Link to comment
Share on other sites

No problem! I'm glad it was useful for you. 

 

My installations through Pulseway have gone smoothly, so I don't know about the failures you've gotten. In my case, it became more manageable to trigger the installation via script, rather than via Pulseway. Especially since clients imported with other pulseway-users aren't shown in the webGUI (for those, you have to login to the specific account and install from there, and that method isn't going to cut it).

 

I wish that we find a way to register the integration between Webroot and Pulseway after running the script, it will save us some more time and make the deployment easier.

There are some registry entries at HKLM:\Software\MMSOFT Design\PC Monitor\Addons\2 that seems related to Webroot. I saw the key code written there, in plain text. It was under the subkey "LicenseHash" on a couple of our workstations, and they were installed via the Pulseway WebGUI if I'm not mistaken.. However, the sideloading-operation leaves the same subkey blank. There is also a second subkey, called "InstallationId" that I'm curious about. The "LicenseHash" could be easily populated with the correct key code, but I'm more worried about the "InstallationId", as it contains a long hash value generated from somewhere, somehow.


I'm hoping that the Pulseway-developers can contribute with some useful information here.. =) 

 

Link to comment
Share on other sites

  • Administrators
On 26/02/2018 at 6:53 PM, AC_Martin_J said:

No problem! I'm glad it was useful for you. 

 

My installations through Pulseway have gone smoothly, so I don't know about the failures you've gotten. In my case, it became more manageable to trigger the installation via script, rather than via Pulseway. Especially since clients imported with other pulseway-users aren't shown in the webGUI (for those, you have to login to the specific account and install from there, and that method isn't going to cut it).

 

I wish that we find a way to register the integration between Webroot and Pulseway after running the script, it will save us some more time and make the deployment easier.

There are some registry entries at HKLM:\Software\MMSOFT Design\PC Monitor\Addons\2 that seems related to Webroot. I saw the key code written there, in plain text. It was under the subkey "LicenseHash" on a couple of our workstations, and they were installed via the Pulseway WebGUI if I'm not mistaken.. However, the sideloading-operation leaves the same subkey blank. There is also a second subkey, called "InstallationId" that I'm curious about. The "LicenseHash" could be easily populated with the correct key code, but I'm more worried about the "InstallationId", as it contains a long hash value generated from somewhere, somehow.


I'm hoping that the Pulseway-developers can contribute with some useful information here.. =) 

 

Unfortunately the agent cannot decide that the Webroot addon should load by itself (due to licensing reasons) so there can only be the server who takes this decision. I don't see any problem in exposing a method in our REST API to ask the Pulseway server to send the addon installation command for that particular machine.

-Paul

Link to comment
Share on other sites

On 2018-02-26 at 9:13 PM, Paul said:

Unfortunately the agent cannot decide that the Webroot addon should load by itself (due to licensing reasons) so it can only be the server who takes this decision. I don't see any problem in exposing a method in our REST API to ask the Pulseway server to send the addon installation command for that particular machine.

-Paul

Thanks Paul! 

 

That sounds promising.. Please let us know when the REST API has been adjusted accordingly, so we can test it.

Edited by AC_Martin_J
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...