Comment demander à un utilisateur d'exécuter-comme des informations d'identification en double-cliquant sur une icône?

Je gère un système de type kiosque où l'utilisateur a presque zéro autorisations.

Je souhaite placer une icône sur leur bureau qui exécuterait un programme spécifique comme leurs informations d'identification Active Directory. Je suis familier avec SysInternals ShellRunAs, mais il faudrait un clic droit qui signifie réessayer les utilisateurs.

Pourrais-je accomplir cela en les faisant double-cliquer sur l'icône qu'ils le feront normalement et ils obtiendraient une invite de nom d'utilisateur / mot de passe, puis exécuter le programme comme ça?

Si PowerShell est une option pour vous, un script PowerShell peut demander des informations d'identification et ensuite utiliser ces informations d'identification pour lancer une procédure.

Start-Process -FilePath "C:\Windows\notepad.exe" -Credential (Get-Credential) 

L'utilisateur voit cette invite, puis le processus démarre.

Entrez la description de l'image ici

ShellRunAs n'exige pas strictement un clic droit; Il peut être (et en fait) appelé un outil ordinaire avec le programme original donné dans la ligne de commande – tout comme les runas mais graphiques.

 shellrunas notepad foo.txt 

Cela pourrait être utilisé dans un raccourci.

Vous pouvez modifier le raccourci pour utiliser l'utilitaire RunAs ligne de RunAs . Par exemple, voici la cible d'un raccourci qui tentera d'ouvrir un dossier spécifique dans explorer en tant qu'utilisateur BillyBob :

 C:\Windows\System32\runas.exe /user:BillyBob "Explorer.exe F:\Projects" 

L'argument / user peut également accepter les informations d'identification de domaine (codées en dur ou utilisant la variable d'environnement% USERDOMAIN%):

 C:\Windows\System32\runas.exe /user:%USERDOMAIN%\BillyBob "Explorer.exe F:\Projects"\BillyBob "Explorer.exe F:\Projects" 

Le nom d'utilisateur peut être affecté à la variable d'environnement %username%

 C:\Windows\System32\runas.exe /user:%username% "Explorer.exe F:\Projects" 

Ou, avec le domaine et le nom d'utilisateur provenant de l'environnement:

 C:\Windows\System32\runas.exe /user:%USERDOMAIN%\%username% "Explorer.exe F:\Projects" 

Une fois que le raccourci est ouvert, une fenêtre cmd.exe montrera demander le mot de passe du compte spécifié: Invite du mot de passe

Si vous avez besoin de l'utilisateur pour entrer un nom d'utilisateur, alors les choses ont un petit hack et vous devez le mettre dans un fichier .bat:

 @Echo Off set INPUT= set /P INPUT=Username: %=% C:\Windows\System32\runas.exe /user:%INPUT% "Explorer.exe F:\Projects" 

C'est ma façon de le faire:

 @echo off rem @--------Window config COLOR F3 mode con cols=60 lines=10 echo.%date% rem @--------Authentication @echo. @set /p user=Username: @echo. @runas /user:%user% "C:\Programas\Internet Explorer\IEXPLORE.EXE http://www.google.com" rem @ if you are in a domain use: rem @runas /user:DOMAIN\%user% "C:\Programas\Internet Explorer\IEXPLORE.EXE http://www.google.com" rem @---------Window close time (after "-n" put window close time in seconds) ping -n 3 127.0.0.1>NUL @cls @exit 

Vous pouvez le tester et cela fonctionnera bien.