ejemplos - run powershell script
Ejecutando PowerShell como otro usuario y lanzando un script (5)
Intente agregar la opción RunAs
a su Start-Process
Start-Process powershell.exe -Credential $Credential -Verb RunAs -ArgumentList ("-file $args")
No entraré en detalles sobre por qué lo necesito, pero los usuarios deben poder iniciar PowerShell como una cuenta de servicio y cuando PowerShell cargue, debe ejecutar una secuencia de comandos. Ya puedo ejecutar PowerShell con las credenciales almacenadas (almacenadas como una cadena segura), pero durante mi vida no puedo ejecutar el script (ubicado en $ args). He intentado una variedad de cosas, y abajo es donde estoy actualmente. Cualquier ayuda sería muy apreciada.
$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")
Encontré que esto funcionó para mí.
$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
Actualizado: se cambió a usar comillas simples para evitar problemas especiales de carácter observados por Paddy.
En Windows Server 2012 o 2016 puede buscar Windows PowerShell y luego "Pin to Start". Después de esto, verá la opción "Ejecutar como usuario diferente" al hacer clic con el botón derecho en los mosaicos de la página de inicio.