web-dev-qa-db-fra.com

Exécution de PowerShell en tant qu'autre utilisateur et lancement d'un script

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")
31
Little King

Vous pouvez ouvrir une nouvelle fenêtre powershell sous un identifiant d'utilisateur spécifié, comme ceci:

start powershell -credential ""

enter image description here

41
George Livingston

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.

32
Duke of Muppets

Voici également un bon moyen d'y parvenir via l'interface utilisateur.

0) Faites un clic droit sur l'icône PowerShell dans la barre de tâches

1) Maj + clic droit sur Windows PowerShell

2) "Exécuter en tant qu'utilisateur différent"

Pic

28
Semyon Vyskubov

Essayez d’ajouter l’option RunAs à votre Start-Process

Start-Process powershell.exe -Credential $Credential -Verb RunAs -ArgumentList ("-file $args")
4
mjolinor

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.

2
user7867901