Ik zal niet ingaan op alle details van waarom ik dit nodig heb, maar gebruikers moeten PowerShell kunnen starten als een service account en wanneer PowerShell wordt geladen moet het een script uitvoeren. Ik kan PowerShell al starten met de opgeslagen referenties (opgeslagen als een beveiligde string), maar ik krijg het script (dat zich in $args bevindt) maar niet gestart. Ik heb van alles geprobeerd, en hieronder zie je waar ik nu ben. Alle hulp zou zeer gewaardeerd worden.
$user = "domain\service.account"
$pwd1 = "big long huge string of characters"
$pwd = ($pwd1 | ConvertTo-SecureString)
$Credential = New-Object System.Management.Automation.PSCredential $user, $pwd
$args = "\\domain.local\location\location\location\Script\script.ps1"
Start-Process powershell.exe -Credential $Credential -ArgumentList ("-file $args")
Je kunt als volgt een nieuw Powershell-venster openen onder een opgegeven gebruikersnaam:
start powershell -credential ""
Ik vond dit werken voor mij.
$username = 'user'
$password = 'password'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process Notepad.exe -Credential $credential
Bijgewerkt: veranderd naar enkele aanhalingstekens om problemen met speciale tekens te vermijden, zoals opgemerkt door Paddy.