AC_Martin_J Posted February 16, 2018 Posted February 16, 2018 (edited) 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 February 16, 2018 by AC_Martin_J
AndyR Posted February 24, 2018 Posted February 24, 2018 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. AC_Martin_J 1
AC_Martin_J Posted February 26, 2018 Author Posted February 26, 2018 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.. =)
Administrators Paul Posted February 26, 2018 Administrators Posted February 26, 2018 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
AC_Martin_J Posted February 28, 2018 Author Posted February 28, 2018 (edited) 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 February 28, 2018 by AC_Martin_J
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now