Jump to content
AC_Martin_J

Sideloaded Webroot integration

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

Share this post


Link to post
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. 

Share this post


Link to post
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.. =) 

 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
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

Share this post


Link to post
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

  • Similar Content

    • By Quenten Grasso
      Hey Guys,
      Not sure if this is going to be in the next update already however, it'd be great if we could create Categories under tasks just like under scripts to help organize them better.
      Cheers,
      Quenten
    • By Quenten Grasso
      Hey Guys,
      It would be great if we had some integration with https://chocolatey.org for windows package management, its basically like apt-get or yum for windows which seems a lot better IMHO then ninite type solutions. 
      Having its own tab under group policy for example to install selected apps across multiple machines and keep them updated within patch windows for example. This would be a huge benefit for Pulseway if done well.
      https://chocolatey.org/about
      https://chocolatey.org/pricing at only $3/year per machine its pretty competitive pricing.
      Cheers,
      Quenten
    • By Quenten Grasso
      Hi,
      I'd like to submit a feature request to be able to disable items which are not being used such as NOC, Setup, Slack Integrations, Backup Plugin for example. maybe under server admin -> settings -> option under here for example?
      Cheers,
      Quenten
    • By Matt Wilson
      Hey guys,
      I am aware that I can add an invoice-wide discount, but we really need a way to invoice line items. The only work around is to generate multiple invoices when you don't want the discount to apply to entire invoice. I want customer's to see the actual normal price, I don't just want to edit the extended price. 
      Also, I like the new billing automation feature. But we also need to a way to add a (hopefully future line item) discount to the billing automation. We generally offer a discount on recurring flat fee services for the first 6 or 12 months of the term, and I need a way to put this in so that I don't have to manually change everything on each invoice after it is generated and/or exported to QB like I do now. Manual invoicing is such a time waster.
      As always, Thanks so much!!
    • By Hari Simaguen
      Hi,

      I'm currently running through a lot of notification.
      Running through 30 different notification, I notice that I should focus on probably 6 of those and delete the others. Currently I can only delete 1 notification at a time.
      Do you think it will be awesome for us to have the ability to sort, multiple select and delete *some* notifications?
×