J'ai un PC Windows 10 avec un compte administrateur et un compte utilisateur normal. Je veux écrire un script Powershell pour exécuter un programme dans le compte utilisateur régulier à partir du compte admin. Ainsi, j'exécuterais le script à partir du compte admin et l'interface utilisateur s'affiche dans le compte utilisateur. Le compte utilisateur serait connecté en même temps que l'admin. J'ai essayé d'utiliser psexec.exe mais l'IU s'affiche en blanc et ne répond pas dans le compte utilisateur. Est-ce possible ? Si oui, comment dois-je faire ? Merci
Réponse
Trop de publicités?start-process powershell -Credential $user
Où https://serverfault.com/questions/95431/in-a-powershell-script-comment-vérifier-si-je-fonctionne-avec-un-administrateur-privilège montre comment vérifier si vous êtes administrateur pour confirmer cela :
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
$currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
J'ai donc lancé Powershell en tant qu'administrateur, je l'ai utilisé pour vérifier qu'il s'agissait bien d'un administrateur, puis j'ai lancé l'autre processus Powershell à partir de celui-ci, ce qui a permis de confirmer qu'il n'était pas en mode administrateur.
Cela devrait faire ce dont vous avez besoin.
Si vous voulez éviter la demande de mot de passe, il est possible de générer un objet d'identification à utiliser dans le paramètre d'identification à la place. Je vous suggère de vérifier les options ici : https://techcommunity.microsoft.com/t5/office-365/cred-get-credential-without-asking-for-prompts-in-powershell/m-p/483274