Raise credit with PowerShell through a local system account

I want to deploy code using powershell through Jenkins Job. This works great in powershell ise.

$username = "mydomain\builder"
$password = "notmypassword"
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
$Arguments = "-ExecutionPolicy Bypass -File C:\Test.ps1 -NoNewWindow -WorkingDirectory C:\Windows\System32\WindowsPowerShell\v1.0 -NoLogo -NonInteractive"

Start-Process "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Credential $credentials -ArgumentList $Arguments

But when I start it from Jenkins, which uses the local system, I get the following error message.

Start-Process : This command cannot be run due to the error: Access is denied.
At C:\WINDOWS\TEMP\hudson5557889306949142167.ps1:7 char:1
+ Start-Process powershell.exe -Credential $credentials -ArgumentList $

If the change changes the Jenkins service to another account, it works. Why it will not be allowed to work under the local system account?

note: the only code in test.ps1 is the new element c: \ scripts \ new_file.txt

+4
source share
1 answer

, , script. , , LocalSystem:

. LocalSystem, LocalSystem , .

: MSDN, LocalSystem

SuperUser : LocalSystem .

TechNet : Runing PowerShell script LocalSystem , script .

runas /savecred /user:... , . AFAIR runas /savecred , , .

+2

Source: https://habr.com/ru/post/1614039/


All Articles