상황에 맞는 메뉴를 통해 관리자 권한으로 만 실행되는 프로그램이 있습니다. 로컬 관리자의 자격 증명을 사용하여 응용 프로그램을 실행하는 스크립트는 어떻게 만듭니 까?사용자 이름과 비밀번호를 사용하여 관리자 권한으로 앱을 실행하는 방법
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//copy from
string sourcePath = @"\\10.11.11.4\Links\";
//copy to
string targetPath = @"e:\RainbowPlus\Links\";
if (!Directory.Exists(targetPath))
{
Directory.CreateDirectory(targetPath);
}
foreach (var srcPath in Directory.GetFiles(sourcePath))
{
File.Copy(srcPath, srcPath.Replace(sourcePath, targetPath), true);
}
ProcessStartInfo ps = new ProcessStartInfo();
ps.FileName = @"C:\Program Files\WinRAR\RAR.exe";
//unrar and overwrite to
ps.Arguments = @"x -o+ e:\RainbowPlus\Links\Links.rar e:\RainbowPlus\Links\";
Process.Start(ps);
}
private void button2_Click(object sender, EventArgs e)
{
Process proc = new Process
{
StartInfo =
{
CreateNoWindow = true,
UseShellExecute = true,
RedirectStandardOutput = true,
RedirectStandardInput = true,
FileName = @"E:\\RainbowPlus\\Rainbowplus.exe",
UserName = "username",
Domain = "my.domain",
Password = GetSecureString("secretpassword"),
Arguments = ""
}
};
//proc.Start();
Process p = new Process();
p.StartInfo.Verb = "runas";
System.Diagnostics.Process.Start("E:\\RainbowPlus\\Rainbowplus.exe");
}
public static SecureString GetSecureString(string str)
{
SecureString secureString = new SecureString();
foreach (char ch in str)
{
secureString.AppendChar(ch);
}
secureString.MakeReadOnly();
return secureString;
}
을하지만 난 여전히 UAC의 PROMT 있습니다
은 내가 무엇을 가지고. 내 문제가
@echo off
REM Check runing program ####
Set ProcessName=rainbowplus.exe
TaskList /FI "ImageName EQ %ProcessName%" | Find /I "%ProcessName%"
If %ErrorLevel%==0 (echo Close rainbow program) else (goto testnetwork)
pause
exit
REM Network testing
:testnetwork
echo Testing network
pause
ping -n 4 10.11.11.4 | find "TTL=" > nul
if %errorlevel%==0 (goto copy) else (echo Network down)
pause
exit
REM Copy files
:copy
echo Updating files
pause
xcopy "\\10.11.11.4\Links" "E:\RainbowPlus\Links" /i /q /e /y /h /c
if %errorlevel%==0 (goto startprogram) else (goto error)
:startprogram
echo Succsess
pause
runas.exe /env /profile /savecred /user:"comp5234\Administrator" "E:\RainbowPlus\RainbowPlus.exe"
exit
:error
echo Files was not updated
pause
exit
입니다 :이 befor을 , 나는 박쥐 파일을 사용할 수 있습니까?
사용자가 관리자로 앱을 실행하려면 관리자 자격증 명을 알아야합니다. 당신이 그 (것)들을 그 후에 그 후에 대체하기 위하여려고하는 경우에 첫번째 장소에있는 관리 계정이있는의 모든 점을 부정하십시오. 가장 좋은 방법은 1. 사용자가 자격 증명 (최상)을 입력하도록 요구하거나 2. 자격 증명을 암호화 된 파일에 저장 한 다음 (관리자 만 파일을 변경하도록 허용)에로드합니다. – TheLethalCoder
감사합니다. 두 번째 해결책은 나를 위해 더 좋아 보인다. @ TheLethalCoder 내가 어떻게 할 수 있니? –
아니요 코드 작성 서비스가 아닙니다. 직접 시도하고 직접 해보고 문제가 발생하면 새로운 특정 질문을하고 [MCVE]를 제공하십시오. – TheLethalCoder