台灣最具影響力的-資訊專家社群 - 讓您成為最有價值的IT專業人才
線上人數
2457
 
會員總數:230262
接案會員:6772
文章總數:2320
討論主題:176072
歡迎您免費加入會員
討論區列表 >> C# >> 如何讓程式有Administrator的權限

[變換順序]
[我要回覆]
1


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

點圖分享到Plurk吧!
樓主

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

請問各位,小弟目前要寫一支小程式幫助MIS人員修改大量電腦的登錄檔資料
但目前的使用者登入權限都是Power User
請問如何在程式中指定Domin Admin的帳號執行(有帳號與密碼)
謝謝
本篇文章發表於2009-10-07 11:57
什麼是iT Power資訊報 新手會員瞧一瞧
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
 

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