Ich brauche ein Symbol, um auf den Desktop zu klicken, der eine PowerShell-Konsole startet, die als ein anderer Benutzer zur Eingabe eines Kennworts in einer erhöhten Shell ausgeführt wird.PowerShell-Desktop-Symbol zum Ausführen von erhöhten anderen Benutzer Shell
Hier ist, was ich versucht habe:
#1
Start-Process powershell.exe -Credential "domain\user" -verb runAs
#2
Start-Process powershell.exe -Credential "domain\user" -NoNewWindow -ArgumentList "Start-Process powershell.exe -Verb runAs"
#3
$username = "domain\user"
$password = 'the real deal password'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process powershell.exe -Credential $credential -verb runAs
All das, wenn ich das Icon mit dem Namen something.ps1 klicken bringt einen Blitz einer Konsole mit einem Fehler und schließt.
Ich habe Pause hinzugefügt, um zu versuchen und den Fehler abzufangen, aber das Fenster wird durch Klicken auf das Symbol nicht pausieren. Aber wenn einer von diesen in ISE ausgeführt wurde, gibt es keinen Fehler und eine Konsole wird ordnungsgemäß im Kontext der anderen Benutzer angezeigt, wenn ich whoami
ausführen.
Ich vermute, das Problem ist in UAC, da die Befehle in ISE arbeiten, aber nicht vom Desktop? Oder ist ein klickbares Icon für dieses Wunschdenken?
Wrap es in "versuchen, fangen, endlich", Host-Druckbefehle in "fangen" und Pause in "endlich". Du wirst deine Ausnahme bekommen. Ihre Pause hat nicht funktioniert, da die Ausnahme die Ausführung des Threads beendet, bevor Sie sie anhalten. – ArtK
'psexec.exe' aus Sysinternal Suite ist in der Regel die beste Wette, wenn Sie versuchen, als andere Benutzer zu laufen. – BenH