Jump to content
Martin Stevnhoved

Update plugin DLL-file from PowerShell

Recommended Posts

Hi.

 

I am making an Automation Script that updates a custom plugin-file, that might is always be in use, to a newer version.

If the plugin doesn't already exist everything works fine.

But if it already exist it cannot be overwritten, because the Pulseway Service (and managers, if any are running) is using the file.

My solution is to stop the service, overwrite the file and start the service.

It works very well when executing manually in ISE, but not when executed as an Automation Script from Pulseway.

It looks like the entire script is terminated when the service stops, and the execution doesn't return anything in execution history - not even an error.

 

Could anyone help me with the best practice for updating a plugin dll-file from an Automation Script.

 

Best Regards,

Martin Stevnhoved

Share this post


Link to post
Share on other sites

Hi Martin,

Have you tried to update the registry keys and then stop the Pulseway service? In the latest version of the Pulseway agent we have built in auto recovery, therefore if you stop the Pulseway service it will be started after one minute. Therefore if you will set the correct values for the registry keys, then the Pulseway when it starts it will load the correct files for the Plugin.

Please let me know how it goes.

Share this post


Link to post
Share on other sites

I don't need to update any registry keys. I need to replace a plugin-file, that is locked by Pulseway.

I can only overwrite the file, if Pulseway is stopped. But if I stop it the Automation task is stopped.

I have tried to remove the plugin from registry, but the lock on the file is still first released when Pulseway is restarted.

Share this post


Link to post
Share on other sites

Please try to copy the file with the different name and then update the registry key, so Pulseway will use the new file.

If you will repeat this operation twice, then you will be able to use the file with the same name.

I hope this helps.

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 Francis
      Hi,
      I think it misses the ability to monitor bandwidth on servers and users computers. It would be nice to have a history of several weeks and the services used.
    • By Finzsoft
      I am trying to upgrade some software using PowerShell and I am not sure if my parameters are correctly formatted .  See highlighted text
       
      # Silent Install Secure Secure Authentication
      # http://repository.eset.com/v1/com/eset/apps/business/esa/windows/v2/2.7.32.0/esa_nt64_enu.msi
      # Path for the workdir
      $workdir = "c:\scripts\"
      # Check if work directory exists if not create it
      If (Test-Path -Path $workdir -PathType Container)
      { Write-Host "$workdir already exists" -ForegroundColor Red}
      ELSE
      { New-Item -Path $workdir  -ItemType directory }
      # Download the installer
      $source = "http://repository.eset.com/v1/com/eset/apps/business/esa/windows/v2/2.7.32.0/esa_nt64_enu.msi"
      $destination = "$workdir\esa_nt64_enu_v2.msi"
      # Check if Invoke-Webrequest exists otherwise execute WebClient
      if (Get-Command 'Invoke-Webrequest')
      {
           Invoke-WebRequest $source -OutFile $destination
      }
      else
      {
          $WebClient = New-Object System.Net.WebClient
          $webclient.DownloadFile($source, $destination)
      }
      Invoke-WebRequest $source -OutFile $destination
      # Start the installation
      msiexec.exe /i "$workdir\esa_nt64_enu_v2.msi" ADDLOCAL="Credential_Provider" /qb /L*v "c:\esa_install_log.txt"
      # Wait XX Seconds for the installation to finish
      Start-Sleep -s 35
      # Remove the installer
      rm -Force $workdir\esa_nt64*
    • By Basil62
      Hello and good day. Is there any way for Pulseway to notify me when the monitored system reaches a specific % threshold of RAM or CPU usage?
    • By Wannes Vande Wiele
      Hello!

      Recently I've been experimenting a bit using scripts that contain variables that the user should enter.
      For example, a very simple one to shutdown a computer after X-amount of time: (example use-case:  I download large files during the night, so it doesn't count towards my ISP data-usage)

      @echo off
      set /p time=Enter time in seconds:
      shutdown /s /t %time%
      timeout /t 3 /NOBREAK
      exit

      however, upon executing said script, the app doesn't request for the variable to be filled out. (I guess it's not made for such uses)
      Obviously, i can manually enter the command using CMD, but i don't want to be typing the command every time i need it. (you can call me lazy :p)

      Any ideas how to do this correctly?
    • By dpbklyn
      Is there a way to kick off an automated task based on a notification or alert.  For Example, if we get a notification of a disk getting full, I would want the automation to run: 
      <Open a ticket>--> <add predetermined note>--> <add 15 minutes>--><run task to clean drive>--><send notification that task has completed>--><close ticket>
      Is this possible now, or should this be a feature request?
      Thank you,
      dp
×