2017-09-20 16 views
0

我的印象是,計劃任務是運行每半小時運行一次C#「同步」服務(使REST請求和寫入MySQL數據庫)的最佳方式。然而,似乎在Windows 10中,我需要調整非管理員用戶的權限('以批處理方式運行')以實現此目的(在早期版本的Windows中並非如此?)。另一方面,如果我要以管理員身份安排任務,非管理員甚至不能看到任務,更不用說獲取上次運行時間和結果。因此,除非將結果寫入日誌或其他內容,否則非管理員用戶無法查看任務是否存在或已成功運行。作爲非管理員用戶在Windows中運行重複任務的最佳方法是什麼?

我想我可能只是回去在不斷運行的應用程序使用的定時器。有沒有更高效的方式?

+0

以前的Windows也只是默默地改變了它 - 你可以寫 – BugFinder

+0

這是不是可以適用於超級用戶的SE服務? – Fildor

+0

爲什麼你需要管理員權限才能向互聯網發出http請求並寫入數據庫? – MickyD

回答

0

這裏不要太困惑。任務既有一個所有者,又有一個用戶。默認情況下,只有作業和管理員的所有者才能查看/執行作業。所有者默認爲創建作業的用戶。

您的管理員可以手動授予非管理員用戶所需要的正確使用本地組策略。本政策可通過打開本地安全策略訪問。在本地安全策略窗口中,單擊本地策略用戶權利指派,然後登錄批處理工作。您可以在此處添加用戶,除非較高級別的組策略阻止了此操作。

或者,你可以有任務運行爲「NT AUTHORITY \ Local服務」,這是一個非管理員帳戶,其隱含有需要priveledge。您必須將其設置爲管理員。當然,這意味着管理員將擁有這份工作。

普通用戶可以獲准進入看/執行作業。爲此,管理員應在磁盤上找到該任務(可在C:\windows\system32\tasks目錄中找到該任務),並根據需要使用安全選項卡向「用戶」或特定用戶授予「執行&執行權」。

微軟實際上做的是一些在默認情況下他們的任務,任務就算以SYSTEM權限運行(儘管很顯然他們有安裝程序更改任務文件的安全性,而不是做手工)。

+0

'現在在這一點上,用戶應該擁有所需的權利。「這似乎並非如此。我只是得到一個錯誤,用戶沒有這個權利。 –

+0

@NilsGuillermin:該死的。它看起來像微軟文檔中的信息已過時。只有Windows 2003時代的「添加計劃任務嚮導」似乎自動授予priveldge。我會通過回答來更新。 –

相關問題