I want to run a groovy script with cmd.exe under a different user.
I have used Start-Process, when the script gets executed it just opens the prompt on the screen with different user but doesn't process the $command.
So my question is "How to pass the command after running cmd.exe with PowerShell?
This is what I have so far:
$username = "abc"
$pwd = ConvertTo -SecureString "xyz" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username $pw
$command = "filepath/.groovy"
try {
    Start-Process 'cmd' -Credential $cred -ArgumentList $command
    Write-Host $LASTEXITCODE
    if($LASTEXITCODE -ne 0) {
        throw "Error occured"
    } else {
        return 0
    }
} catch {
    Write-Error "Error Desc:$_Error.InnerException.Message";
}
                Based on CMD documentation, you can specify the parameter /c or /k to carry out the command.
Start-Process 'cmd' -Credential $cred -ArgumentList "/c $command"
                        Start-Process 'cmd' -Credential $cred -ArgumentList "/c $command" -WorkingDirectory $startingDirectory
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With