台灣最大程式設計社群網站
線上人數
664
 
會員總數:231124
接案會員:6781
文章總數:2319
討論主題:175373
歡迎您免費加入會員
討論區列表 >> C# >> 如何讓程式有Administrator的權限
[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何讓程式有Administrator的權限
價值 : 50 QP  點閱數:1788 回應數:5

樓主

Sean
初學者
463 22
674 73
發送站內信

請問各位,小弟目前要寫一支小程式幫助MIS人員修改大量電腦的登錄檔資料
但目前的使用者登入權限都是Power User
請問如何在程式中指定Domin Admin的帳號執行(有帳號與密碼)
謝謝
本篇文章發表於2009-10-07 11:57
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

rico
捐贈 VP 給 rico 檢舉此回應
hi
嘗試看看
public Process UserToken(String AppPath, String Domain, String account, String pw)
{
Process pro = new Process();
ProcessStartInfo psi = new ProcessStartInfo(AppPath);
psi.UseShellExecute = false;
psi.UserName = account;
psi.Domain = Domain;
SecureString ss = new SecureString();
foreach (char c in pw.ToCharArray())
{
ss.AppendChar(c);
}
psi.Password = ss;
psi.WorkingDirectory = Path.GetDirectoryName(AppPath);
pro.StartInfo = psi;
return pro;
}

本篇文章回覆於2009-10-07 13:03
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Sean
檢舉此回應
感謝rico大的回應,但這是指定其他應用程式執行權限
若是要賦予自己這支程式權限可以嗎?
謝謝

本篇文章回覆於2009-10-07 13:56
--未登入的會員無法查看對方簽名檔--
3樓
回應

rico
捐贈 VP 給 rico 檢舉此回應
你的需求是要讓每個domain user登入AD後修改登錄檔資料
那其實你可以不用這麼麻煩
AD>設定檔>相關script(修改特定登入檔資料)
就可以達到你的需求
不過......這應該是MIS要搞定的@@

example
modify.vbs
Set ws=WScript.CreateObject("WScript.Shell")
ws.RegWrite
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\CDInstall",1,"REG_DWORD"

modify.bat
cscript c:\modify.vbs

AD>設定檔>modify.bat






本篇文章回覆於2009-10-07 19:47
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Sean
檢舉此回應
感謝rico大的回應,其實這個案子中,以您所提供的第一個方法已可解決
小弟只是想知道,若是要指定自身程式(或是程式中某段副程式)以本機Administrator或是Domin Admin執行,該如何做
謝謝

本篇文章回覆於2009-10-08 13:29
--未登入的會員無法查看對方簽名檔--
5樓
回應

rico
捐贈 VP 給 rico 檢舉此回應
參考API(Advapi32.dll)
http://www.pinvoke.net/search.aspx?search=Advapi32.dll&namespace=[All]

本篇文章回覆於2009-10-08 19:05
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.