2017-05-11 31 views
0

我們正在嘗試創建Windows服務,這些服務將在凌晨3點在早上運行。該服務基本上,刪除/刪除ASP.NET Temp文件。 我們能夠找到命令行參數來停止/啓動IIS並刪除Temp文件。另外,我們創建了一個簡單的Windows服務。 但是,我們有幾個問題:使用Windows服務刪除ASP.NET臨時文件

  1. 臨時文件夾的權限重置爲只讀,我們需要手動更改它來除去只讀權限。
  2. 基於谷歌搜索我們有,我們不知道:如何定期從Windows服務調用DOS命令。我們是否需要使用批處理文件來執行DOS命令,如果是,那麼該怎麼做。

下面是停止/啓動iis和刪除臨時文件的命令。

IISRESET /停止 C:\ WINDOWS \ SYSTEM32> DEL/S/Q 「C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \臨時 的卵巢ASP.NET文件\」

IISRESET/start

任何人都可以指導我們嗎?我們是否需要使用窗口服務或任務計劃程序來停止iis,刪除文件夾權限並刪除臨時文件夾。示例/指令將會有所幫助。

回答

0

Windows服務對此有點矯枉過正。您真正需要的是一個計劃任務,以啓動您的命令並將其設置爲可以訪問本地IIS_IUSRS組的用戶的實例運行(或者對該文件夾具有更高權限的任何用戶)。

For例如使用PowerShell:

調用命令-ScriptBlock {IISRESET /停止}

GET-ChildItem -Path「C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \臨時的卵巢ASP.NET文件\ 「 - 包括 -Parse |的foreach {$ _刪除()}

調用命令-ScriptBlock {IISRESET /開始}

的設置計劃任務,像這樣: https://community.spiceworks.com/how_to/17736-run-powershell-scripts-from-task-scheduler

並將其設置爲爲用戶運行已提升對該文件夾的權限。

一旦IIS恢復運行,您很可能還想向您的站點添加一個PowerShell Web請求,否則,在此操作之後再次點擊該站點的第一個用戶需要延長初始加載時間。

+0

感謝您的回覆。會考慮你的建議並詳細研究它。欣賞! – user3461408