mhopkins321
mhopkins321

Reputation: 3083

Calling batch with user creds not working in powershell

I have a powershell script that contains the following

$username = 'username'
$password = 'password'
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
start-process -FilePath $deploymentAppPath -Credential $cred

Yet when I execute this I get the following error.

start-process <<<<  -FilePath $deploymentAppPath -Credential $cred
+ CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand

While I don't think it is probably obvious, my end goal here is to call the batch file with the user credentials that I specify.

Upvotes: 0

Views: 396

Answers (2)

Cole9350
Cole9350

Reputation: 5570

I believe you do not have the right version of windows powershell to use the start-process command. I ran this and it worked other than the obvious -FilePath error that I did not set. Where as you seem to be getting the basic 'command does not exist' exception. To check your version number use the get-host cmdlet. Run get-host | select version and if it outputs 1.0 to console you should go Here to get a 2.0 version.

Upvotes: 1

m4rty
m4rty

Reputation: 31

I would start by removing the use of securestring. Some things just don't seem to work with it in my experiences.

It appears that your process is local, so you're not transmitting the u/p over the wire. Is the securestring really neccessary (considering that the u/p is in the script and available to whoever has perms to the script)?

Upvotes: 1

Related Questions