title: Jenkins Job is failing even PS script is successfully executed
body: <p>I have below script which will</p>
  
  <p>Stop WebService</p>
  
  <p>Delete WebService</p>
  
  <p>Copy items from Jenkins workspace to server path</p>
  
  <p>Create WebService</p>
  
  <p>Start WebService</p>
  
  <p>I run this PS script in Jenkins job and after execution of this,I get a email as Build is failed.</p>
  
  <pre><code>val STOPPED
  [SC] DeleteService SUCCESS
  val DELETED
  Remove-Item : Cannot remove item \\Location.dll: Access to the 
  path '\\Location.dll' is denied.
  At C:\Users\Administrator\AppData\Local\Temp\hudson7587011077362516847.ps1:33 char:5
  +     Remove-Item "$val\*" -Force -Recurse
  +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : PermissionDenied: (\\10.0.1.190\d$...h\Grpc.Core.dll:FileInfo) [Remove-Item], Unauthoriz 
     edAccessException
      + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand
  </code></pre>
  
  <p>My PS script</p>
  
  <pre><code># force strict - so any variable used before being assigned causes an error
  Set-PsDebug -Strict
  
  # force PowerShell to exit with a non-zero code on teh first error
  $ErrorActionPreference = 'Stop'
  
  # set $LASTEXITCODE to zero, so the script doesn't fail if no exit code returned
  $LASTEXITCODE = 0
  
  # set directories here once, so we can reuse
  $MystiflySearchDir = "\\Location"
  $ReleaseDir   = "C:\Location"
  
  # get directory contents (are you expecting these to return to Jenkins?)
  Get-ChildItem "$ReleaseDir\*"
  
  # create the search directory if it doesn't exist
  if (-not (Test-Path -Path $val -PathType Container)) { New-Item -Path $val-type directory -Force }
  
  # get the service, but fail gracefully if it doesn't exist
  $service = Get-Service -Name val -Computername $env:SERVER -ErrorAction SilentlyContinue
  
  # if we have a service, stop and delete it
  if($service.Status)
  {
      sc.exe \\$env:SERVER stop val 
      if ($LASTEXITCODE -ne 0) { throw "error stopping the service: $LASTEXITCODE" }
      Write-Host "val STOPPED"
      Start-Sleep -s 10
      sc.exe \\$env:SERVER delete val
      if ($LASTEXITCODE -ne 0) { throw "error deleting the service: $LASTEXITCODE" }
      Write-Host "val DELETED"
      Start-Sleep -s 25
      Remove-Item "$val\*" -Force -Recurse
  }
  
  # copy release to search
  xcopy "$ReleaseDir\*" $val/k/e/d/Y
  
  # (re)create the service
  sc.exe \\$env:SERVER create val start=auto DisplayName= "value"  binPath= D:\Location.exe
  if ($LASTEXITCODE -ne 0) { throw "error creating the service: $LASTEXITCODE" }
  sc.exe \\$env:SERVER description val "val"
  if ($LASTEXITCODE -ne 0) { throw "error adding description to service: $LASTEXITCODE" }
  sc.exe \\$env:SERVER start val
  if ($LASTEXITCODE -ne 0) { throw "error starting the service: $LASTEXITCODE" }
  Write-Host "val STARTED"
  </code></pre>
  
  <p>Is there anything i am missing here</p>