No in that fashion, no. You’re forcing $mycred to be evaluated as a string, not a credential object, so it’s disregarded and that’s why you’re prompted. I’m not entirely certain why you need to start a new process, though - can’t you just run Enter-PSSession?
so passing the credential to the Start-Process, but then it says the username/password is incorrect (even though it’s correct and I can use this credential to perform other actions against this computer).
The latter example should have worked if $mycred is a valid credential object; I’m unfortunately not able to help you troubleshoot that without access to your network :). Syntactically, it looks correct from what you’ve shown me. I guess I’d just make sure you’re using DOMAIN\USERNAME format for the username portion of the credential.
I am running the form from a standalone PC and targeting a domain controller. Of course I enter the credential as username@domain.ext and can confirm it works, because other scripts I run from this form against this domain controller work fine.
Also, when I run the Start-Process, I can see in the domain controller security event log a Kerberos ticket being created and all and no FailureAudits appear.
That’s a little bit tricky. You can’t pass live objects across process boundaries like that, but you can serialize the credential into text and then back again. Something like this should work (though it requires PowerShell 3.0 or later, for the PSSerializer class):