Is it possible to start a program from Powershell using different Kerberos token for network access from the one used to start the program as you would do using runas /netonly
?
PowerShell does have a RunAs option, when you use cmdlets that have it.
For example:
There are several articles that have been around for some time on what you are trying to accomplish. As of course, this query has come up before.
# You can't use 'runas' directly in Powershell. Anyway as you know, Runas will prompt for a password.
# To run a program with different credentials in Powershell is a two-part process:
# 1. Store the password interactively to an encoded text file:
$credential = Get-Credential 'targetDomain\user'
$credential.Password | ConvertFrom-SecureString | Set-Content c:\scripts\password.txt
Using a PowerShell script to run as a different user & elevate the process.
# The script:
Start-Process powershell.exe -Credential "TestDomain\Me" -NoNewWindow -ArgumentList "Start-Process powershell.exe -Verb runAs"
<#
The following section starts the PowerShell command-line process with Start-Process
prompting for user credentials. You may not need this dependent on UAC settings,
as you might already get an over-the-shoulder prompt for creds during elevation.
#>
Start-Process powershell.exe -Credential "TestDomain\Me"
# The -NoNewWindow parameter re-uses the same PowerShell command window.
Run a command as a different user in Powershell
There are three main ways to run a command as a different user in Powershell, besides the classing Right click shift. This article will show you how to do that, within the same Powershell session.
Here is a script to download and dissect as needed.
See also:
A version of the Windows 'runas' command that accepts a PSCredential instead of prompting for a password.