Lost Jenkins admin password !!! – work around / fix

Yesterday I created an instance of Jenkins on Docker so that I could package up all the pre-requisites for the HPE Automation Tools plugin. I need to do this periodically due to the fact that my Jenkins instance at work isn’t connected to the internet and I occasionally need to download new and updated plugins.

I built Jenkins yesterday and presumably used one of my “disposable” passwords for the admin account in this Jenkins instance. I tried “password”, “admin”, “password1” and a few others but I couldn’t remember the password that I set only yesterday !

I decided that I needed to “hack” Jenkins. This was easier said than done because although I found the location for the password in the config files, the password is hashed out (unsurprisingly).


Rather than remove the password entirely and risk breaking Jenkins, I had a mooch about in some other config files.


By changing the <useSecurity> flag to false and restarting Jenkins,I can avoid the password prompt altogether.  

Killing a stalled process and leaving others running using PowerShell

Since I wrote my post “Using Loadrunner / Performance Center to kill a rogue process“, some colleagues have asked if I could kill a stalled process and leave others up and running. After some “Googling”, I have found that this is possible.

I modified some PowerShell scripts that I found online so that they do what we want. If you paste the code below into a PowerShell script called for example “KillStalledProcesses.ps1”, it will scan through all the processes on a machine and “kill” any that are not responding.

I’ve tested it using SysInternals “Process Explorer” which allows you to “suspend” a running process like in the image below. I suspended the “notepad.exe” process and tested the PowerShell code.

The code correctly identified the suspended process and “killed” it.

(When I tested this with two other running “notepad” processes, it left the two other processes running.)

My thoughts are that we could add the PowerShell script into the “Extra Files” portion of a LoadRunner or Performance Center script and call it on error using the system (command); function described in the initial blog post. This would kill for example a rogue Citrix or SAPGUI client and leave others running during a performance test.



( [string[]]$ComputerName = $env:ComputerName)           

($Computer in $ComputerName)

if(!(Test-Connection -ComputerName $Computer -Count 1 -quiet))

Write-Host "$Computer : OFFLINE"           


try {

$Processes = Get-Process -ComputerName $Computer -EA Stop

$nProcesses = @($Processes | ? { $_.Responding -eq $false })

catch {

Write-Error "Failed to query processes. $_"


foreach($nProcess in $nProcesses)

$nProcess | select Name, id, MainWindowTitle, Responding

Write-host "Attempting to kill stalled process"

if ($nProcess.Id -ne $PID)

Stop-Process $nProcess.Id}


Write-host "No non-responding processes found"

Using LoadRunner / Performance Center to kill a rogue process

I recently saw a question in a discussion forum for LoadRunner and after replying with a potential solution for a friend of mine, I thought that I’d share my solution here as well. My friend was testing using a Citrix client and when the script failed, the Citrix client was left running. This meant that subsequent test iterations would all fail as well.

Testers using other thick clients such as SAPGUI, RDP, TruClient (using Firefox or Chrome), QTP or UFT may also face this issue.

One way to resolve the problem of orphaned process such as this would be to use a command line function to kill the offending process when an error is detected. In the example below, the script kills any instance of the “calc.exe” (calculator) process. You should replace “calc.exe” with the name of the executable / rogue process.






N.B. You need to be extremely careful with this code (for obvious reasons).