我們創建了一個小型Windows程序,用於從互聯網網站下載文件。它在大多數個人電腦上都有罰款。在一個特定的客戶情況下,該程序失敗。如果程序以常規用戶或管理員身份運行,但不能作爲本地系統運行,則可以下載文件。該程序是Windows服務的一部分,因此必須作爲本地系統運行。有問題的PC是域的一部分。我已閱讀本地系統是一個匿名帳戶,並沒有網絡訪問權限。即使在互聯網上訪問文件,這可能是問題嗎?作爲系統運行時,程序不會從互聯網下載文件
回答
請注意,這應該是一個評論,而不是一個答案,我只是不能評論。
要更深入地瞭解問題,可以創建一個與您的服務具有相同權限的cmd。默認情況下,這將是本地系統。我想它也適用於PowerShell,但我不清楚它的含義。
sc create debugcmd binpath= "cmd /K start" type= own type= interact
sc start debugcmd
最後的命令會給你一個錯誤信息,類似於The service did not respond to the start or control request in a timely fashion.
可以忽略。
這段代碼將在會話0中創建一個shell(請參閱Session 0 isolation),但由於我們聲明服務是交互式的,因此您可以訪問它。從那裏你可以開始你的診斷。
此處謹慎的提示:您在該cmd中進行的每個調用都將具有本地系統權限。當您另一個應用程序或以其他方式調用子進程時,它將繼承這些權限。
記住,當你完成刪除服務,因爲它帶來了相當大的安全隱患:
sc delete debugcmd
感謝您的評論。我一直在使用psexec -i -s cmd.exe,我相信這會創建一個作爲本地系統運行的cmd。 http://stackoverflow.com/questions/77528/how-do-you-run-cmd-exe-under-the-local-system-account – user2442193 2014-09-06 14:58:18
聲明服務交互不會自動免除它從會話0隔離。有一個向後兼容的功能,可以讓它按照需要工作,但在Windows 7中它默認是關閉的;要啓用它,請啓動交互式服務檢測服務。 Windows的更高版本中可能不存在此功能。無論如何,'psexec'提供了一個更簡單的解決方案。 – 2014-09-06 20:55:06
這是一個MS錯誤。我已經實施了MSDN推薦的解決方案,並且它工作得很好。這是原來的代碼:
var filePath = "https://someurlhere";
var xsl = new ActiveXObject("Msxml2.DOMDocument.3.0");
xsl.async = false;
xsl.validateOnParse = false;
xsl.load(filePath);
如果當在MSXML服務器端或客戶端多核環境進行操作的DOM文檔加載XML文件通過HTTP負載方法可能會失敗。
解決方法是在xsl.async = false下添加以下語句:
xsl.setProperty("ServerHTTPRequest", true);
有關詳細信息,你可以去這裏: http://support.microsoft.com/kb/281142
感謝大家和雷米勒博特別是對他們的幫助。
- 1. 從互聯網下載JavaScript文件時,它會去哪裏?
- 2. 作爲本地系統運行時,WebClient無法下載文件
- 3. 從互聯網上下載文件?
- 4. Python - 從互聯網下載.exe文件
- 5. Android:從互聯網下載文件時關閉互聯網時如何處理?
- 6. 從Android的互聯網/文件系統加載類
- 7. 通用互聯網文件系統
- 8. 從互聯網下載文件到我的下載文件夾
- 9. 爲什麼從互聯網上下載文件時會發生這種情況
- 10. 從互聯網下載資源時iOS應用程序崩潰
- 11. 從互聯網下載文件,同時能夠中止下載任何時間
- 12. 從互聯網上下載文件在Android編程
- 13. 列表項目點擊從互聯網下載文件時?
- 14. Windows阻止.XLS文件從互聯網下載內容爲HTML
- 15. 運行從互聯網上下載的本地庫
- 16. 加速從互聯網下載網頁
- 17. 在互聯網上運行exe文件
- 18. 「系統找不到指定的文件」運行C++程序時
- 19. 將文件從互聯網下載到ASP.NET MVC Web應用程序
- 20. Xcode是從互聯網下載的應用程序。
- 21. 避免「應用程序從互聯網下載」警告
- 22. 文件不是從網絡上下載我的系統IP
- 23. 停止下載時,互聯網不工作?
- 24. 從應用程序運行exe可執行文件與系統
- 25. 從應用程序中檢測系統文件運行過程
- 26. Tag MP3從互聯網下載?
- 27. 從互聯網下載plist(database)?
- 28. 在64位操作系統上編寫程序時,程序是否會運行在32位操作系統上?
- 29. 使用捲曲從互聯網下載文件的C代碼
- 30. Python從互聯網地址下載所有文件?
如果帳號被限制使用互聯網服務,它不能以任何代價下載文件,除非它被授予權限! – 2014-09-06 04:00:25
謝謝。我們怎麼做到這一點? – user2442193 2014-09-06 04:07:02
通過更改本地帳戶的權限並授予其網絡服務權限! – 2014-09-06 04:08:54