2016-09-14 2 views
0

У меня есть ярлык приложения на рабочем столе; приложение работает по-разному в соответствии с разрешениями пользователя. Я хочу, чтобы вызвать ярлык от менее привилегированного пользователя и автоматически получить доступ к учетной записи администратора, отменяя пароль администратора для текущего пользователя. Таким образом, обычный пользователь будет иметь доступ к большему количеству параметров в приложении, не зная данных учетной записи другого пользователя.Я хочу запустить одно приложение в качестве другого пользователя без необходимости писать пароль

Я попытался создать bat-файлы, но пароль можно легко увидеть. Я ищу способ сделать это с помощью VB, но я не уверен, что это лучший вариант. Это программное обеспечение делает то, что я хочу, дело в том, что это не бесплатно.

https://4sysops.com/archives/run-a-program-with-administrator-rights-runasspc-cpau-and-steel-run-as-compared/ http://www.robotronic.de/runasspcEn.html

Спасибо за помощь.

+0

Почему бы просто не дать обычному пользователю необходимые привилегии? –

+0

Однако, если вы хотите написать программу для этого, в одном месте для начала будет изучаться Windows DPAPI (API защиты данных). Это позволяет шифровать пароли и вещи на основе ключа, специфичного для этой машины. Как правило, вы устанавливаете и шифруете пароли во время установки. –

+0

@ RB. не может дать нормальному пользователю привилегии, потому что учетная запись администратора использует другие приложения и говорит о системе, допускается только одна учетная запись администратора. Я хочу, чтобы у обычного пользователя было только разрешение для 1 приложения, и, как вы можете себе представить, возникла проблема вызвать администратора каждый раз, когда обычный пользователь хочет его выполнить. – iaredi

ответ

0
#Create a Desktop Shortcut with Windows PowerShell 
If(!$ShortcutFileName) 
{ 
    $ShortcutFileName = (Get-Item $TargetFile).Basename 
} 
$ShortcutFile = "$env:Public\Desktop\$ShortcutFileName.lnk" 
$WScriptShell = New-Object -ComObject WScript.Shell 
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile) 
#Run as different user, saves the password 
$a="runas.exe /savecred /user:$RunAsUser ""$TargetFile""" 
$Shortcut.TargetPath = "runas.exe" 
$Shortcut.Arguments = "/savecred /user:$RunAsUser ""$TargetFile""" 
$Shortcut.IconLocation = $TargetFile 
$Shortcut.Save() 

Вы можете скачать подробный SQL скрипт how to create a shortcut to run an application as a different user(PowerShell)

+0

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. – DimaSan