Εκτέλεση του PowerShell ως άλλος χρήστης και εκκίνηση μιας δέσμης ενεργειών

Δεν θα μπω σε όλες τις λεπτομέρειες για το γιατί το χρειάζομαι αυτό, αλλά οι χρήστες πρέπει να είναι σε θέση να εκκινήσουν το PowerShell ως λογαριασμό υπηρεσίας και όταν το PowerShell φορτώνει πρέπει να εκτελέσει μια δέσμη ενεργειών. Μπορώ ήδη να εκκινήσω το PowerShell με τα αποθηκευμένα διαπιστευτήρια (αποθηκευμένα ως ασφαλής συμβολοσειρά), αλλά για τη ζωή μου δεν μπορώ να κάνω το σενάριο (που βρίσκεται στο $args) να εκτελεστεί. Έχω δοκιμάσει διάφορα πράγματα και παρακάτω είναι το σημείο στο οποίο βρίσκομαι σήμερα. Οποιαδήποτε βοήθεια θα εκτιμηθεί ιδιαίτερα.

$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")

Μπορείτε να ανοίξετε ένα νέο παράθυρο της powershell με ένα καθορισμένο διαπιστευτήριο χρήστη ως εξής:

start powershell -credential ""

1

Σχόλια (5)

Βρήκα ότι αυτό λειτούργησε για μένα.

$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

Ενημερώθηκε: άλλαξε σε χρήση μονών εισαγωγικών για να αποφευχθούν τα προβλήματα ειδικών χαρακτήρων που σημείωσε ο Paddy.

Σχόλια (3)

Δοκιμάστε να προσθέσετε την επιλογή RunAs στην επιλογή Start-Process.

Start-Process powershell.exe -Credential $Credential -Verb RunAs -ArgumentList ("-file $args")
Σχόλια (3)