Exécuter PowerShell comme un autre utilisateur, et lancer 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 être en mesure de lancer PowerShell comme un compte de service et quand PowerShell charge il doit exécuter un script. Je peux déjà lancer PowerShell avec les identifiants stockés (stockés comme une chaîne sécurisée), mais pour ma vie Je ne peux pas faire tourner le script (situé dans $args). J'ai essayé une variété de choses, et c'est en dessous où je suis actuellement. Toute aide serait grandement appréciée.

$user = "domainservice.account" 
$pwd1 = "big long huge string of characters"
$pwd = ($pwd1 | ConvertTo-SecureString)
$Credential = New-Object System.Management.Automation.PSCredential $user, $pwd
$args = "domain.locallocationlocationlocationScriptscript.ps1"
Start-Process powershell.exe -Credential $Credential -ArgumentList ("-file $args")
23
demandé sur Little King 2015-03-11 17:47:25

5 réponses

Vous pouvez ouvrir une nouvelle fenêtre powershell sous un certain identification d'utilisateur comme ceci:

start powershell -credential ""

enter image description here

29
répondu George Livingston 2016-07-01 14:30:15

j'ai trouvé que ça marchait 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: changé en utilisant des guillemets simples pour éviter les problèmes de caractères spéciaux notés par Paddy.

24
répondu Duke of Muppets 2016-06-28 04:10:56

voici aussi une bonne façon d'y arriver via L'interface utilisateur.

0) clic droit sur L'icône PowerShell lorsque la barre des tâches est

1) Maj + clic droit sur Windows PowerShell

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

Pic

11
répondu Semyon Vyskubov 2017-07-20 12:08:58

Essayez d'ajouter le RunAs option à votre Start-Process

Start-Process powershell.exe -Credential $Credential -Verb RunAs -ArgumentList ("-file $args")
3
répondu mjolinor 2015-03-11 15:54:34

dans windows server 2012 ou 2016, vous pouvez rechercher Windows PowerShell puis "Pin to Start". Après cela, vous verrez l'option "Exécuter en tant qu'utilisateur différent" sur un clic droit sur les tuiles de la page de départ.

2
répondu user7867901 2017-04-14 15:12:02