似乎是一個簡單的任務,但我的解決方案都不起作用。具有常規使用者的常規 AD 網域。我們使用具有非漫遊設定檔的終端伺服器,因此所有內容都儲存在 TS 磁碟上。我們希望在登入時清空他們的下載資料夾,因為他們自己從不這樣做,而且我們厭倦了磁碟被填滿。
因此,我自然會製作一個簡單的 powershell 腳本並建立一個 GPO 以在登入時運行它。問題是,ps 腳本需要提升,並且登入腳本在該使用者的權限層級運行並且無法提升。
這是 PS 行:
Get-ChildItem C:\Users\*\Downloads\* | Remove-Item -Force
如果您從提升的 powershell 實例手動運行它,效果會很好。
好的,所以沒有 GPO。接下來的想法是在每個終端伺服器上建立計劃任務並使用具有管理員權限的服務帳戶來執行。
問題是,它無法清空每個使用者的下載資料夾......只能清空服務帳戶的下載資料夾。
所以-我不想將每個用戶的下載資料夾路徑靜態鍵入到 .ps1 檔案中,因為顯然這將是一個管理噩夢。
那麼有人知道嗎:
- 一種在使用者登入時透過 GPO 清空下載資料夾的方法,而無需執行腳本來執行此操作。或者
- 一種改進腳本的方法,可以遞歸地查看每個使用者的資料夾,找到下載資料夾,然後清空它......而無需指定每個使用者的名稱。
這怎麼輕易做到呢?謝謝
答案1
該使用者登入腳本的問題是您試圖刪除所有使用者的下載內容(如果這是您正在使用的命令)。
您肯定想刪除每個特定用戶的下載。因此,如果“下載”位於他們的個人資料目錄中:
Get-ChildItem $env:USERPROFILE\downloads | Remove-Item -recurse
您可能需要對腳本進行簽名或設置,-ExecutionPolicy Bypass
具體取決於 Powershell 的執行策略。關於如何在登入腳本中執行 Powershell 有很多建議。
如果您在舊的批次檔中執行此操作,則很簡單:
rd /s /q %USERPROFILE%\Downloads\*
del /q %USERPROFILE%\Downloads\*.*