Je ne vais pas entrer dans tous les détails de la raison pour laquelle j'ai besoin de cela, mais les utilisateurs doivent pouvoir lancer PowerShell en tant que compte de service et lorsque PowerShell est chargé, il doit exécuter un script. Je peux déjà lancer PowerShell avec les informations d'identification stockées (stockées sous forme de chaîne sécurisée), mais je ne peux pas exécuter le script (situé dans $ args). J'ai essayé une variété de choses, et voici où je suis actuellement. Toute aide serait grandement appréciée.
$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")
J'ai trouvé cela a fonctionné pour moi.
$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
Mise à jour: modification à l'aide de guillemets simples pour éviter les problèmes de caractères spéciaux signalés par Paddy.
Essayez d’ajouter l’option RunAs
à votre Start-Process
Start-Process powershell.exe -Credential $Credential -Verb RunAs -ArgumentList ("-file $args")
Dans Windows Server 2012 ou 2016, vous pouvez rechercher Windows PowerShell, puis "Épingler au début". Après cela, vous verrez l’option "Exécuter en tant qu’utilisateur différent" en cliquant avec le bouton droit de la souris sur les carreaux de la page de démarrage.