8
A
回答
0
我找到了,我需要設置計劃任務運行在常規設置最高權限的應用程序。
9
我只是嘗試使用:
Process p = new Process();
p.StartInfo.Verb = "runas";
,如果我跑我的程序作爲管理員這工作得很好,但是當計劃任務運行它,它不走「運行方式」中考慮我想。
+0
Yepaaah。好的解決方案感謝分享。你讓我今天一整天都感覺很好! – Nasenbaer 2011-10-27 15:40:22
2
如果您正在使用計劃任務,則可以設置要在其下運行的任務的用戶和密碼。
在任務上使用管理員憑據,你會沒事的。
隨着Process.Start
,您需要提供UserName
和Password
爲ProcessStartInfo
:
Process p = new Process("pathto.exe");
p.StartInfo.UserName = "Administrator";
p.StartInfo.Password = "password";
p.Start();
4
使用登錄名和密碼運行進程的更安全的選項是使用SecureString類來加密密碼。這裏是一個代碼示例:
string pass = "yourpass";
string name ="login";
SecureString str;
ProcessStartInfo startInfo = new ProcessStartInfo();
char[] chArray = pass.ToCharArray();
fixed (char* chRef = chArray)
{
str = new SecureString(chRef, chArray.Length);
}
startInfo.Password = str;
startInfo.UserName = name;
Process.Start(startInfo);
您必須在您的項目屬性中允許不安全的代碼。
希望得到這個幫助。
1
請注意,只要有人可以仔細閱讀應用程序並查看其中的內容,以明文形式在程序中存儲密碼永遠不會安全。使用SecureString將存儲的密碼轉換爲SecureString密碼不會使其更安全,因爲明文密碼仍然存在。
使用SecureString的最佳方式是一次只傳遞一個字符進行轉換,而不需要在內存中或硬盤上的任何位置擁有完整的未加密密碼。在該角色被轉換之後,程序應該忘記它,然後繼續下一個。
這可以做,我認爲只有通過傳遞字符進行翻譯,因爲他們正在輸入到控制檯由用戶。
相關問題
- 1. Python:如何用管理員權限啓動進程?
- 2. IntelliJ是否以管理員權限啓動進程?
- 3. C++降管理員權限
- 4. 在C#中使用管理員權限啓動IISExpress
- 5. 使用管理員權限啓動應用程序vC++
- 6. 管理員權限
- 7. 啓動時無法以管理員權限啓動WebMatrix
- 8. 如何在程序啓動時請求管理員權限?
- 9. 啓動具有管理權限的C#應用程序
- 10. 如何從管理員powershell啓動非管理員進程
- 11. 以賬戶管理員身份啓動程序,無需輸入密碼即可進入管理員權限
- 12. 啓動進程作爲管理員
- 13. 在Vista上啓動具有管理員權限的Java運行時進程
- 14. 如何在沒有管理員權限的情況下啓動進程
- 15. c#從UAC管理員級別的權限降低啓動過程
- 16. 如何啓動具有管理權限的進程
- 17. 問管理員權限C++窗口
- 18. 如何檢查管理員權限C#
- 19. C#.NET:獲取管理員權限?
- 20. C#管理員權限 - 檢查
- 21. Android設備管理員權限活動未啓動
- 22. 沒有管理員權限
- 23. 管理員權限錯誤
- 24. 保持管理員權限
- 25. Vb2012管理員權限
- 26. 管理員權限在php
- 27. TFS/MSTest管理員權限
- 28. 管理員權限與笨
- 29. 如何使用C#中的管理權限從具有父進程的管理權限跨越子進程?
- 30. 問題讓程序管理員權限?
問題在哪裏? – 2010-11-05 14:11:33