Windows

一種在登錄時清空使用者下載文件夾的方法

  • September 1, 2020

似乎是一項簡單的任務,但我的解決方案都沒有奏效。具有普通使用者的普通 AD 域。我們使用具有非漫遊配置文件的終端伺服器,因此所有內容都儲存在 TS 磁碟上。我們想在登錄時清空他們的下載文件夾,因為他們從不自己做,我們厭倦了磁碟填滿。

因此,我很自然地製作了一個簡單的 powershell 腳本並創建了一個 GPO 以在登錄時執行它。問題是,ps 腳本需要提升,而登錄腳本以該使用者的權限級別執行並且無法提升。

這是 PS 行:

Get-ChildItem C:\Users\*\Downloads\* | Remove-Item -Force

如果您從提升的 powershell 實例手動執行它,效果很好。

好的,所以沒有 GPO。接下來的想法是在每個終端伺服器上創建一個計劃任務,並使用具有管理員權限的服務帳戶執行。

問題在於,清空每個使用者的下載文件夾是行不通的……只有服務帳戶的。

所以-我不想將每個使用者的下載文件夾路徑靜態地輸入到 .ps1 文件中,因為顯然這將是一場管理噩夢。

所以有人知道嗎:

  1. 一種無需執行腳本即可通過 GPO 在使用者登錄時清空下載文件夾的方法。或者
  2. 一種改進腳本以遞歸查看每個使用者的文件夾、找到下載文件夾並將其清空的方法。無需指定每個使用者的名稱。

這怎麼能很容易做到呢?謝謝

該使用者登錄腳本的問題是您試圖刪除所有使用者的下載內容,如果這是您使用的命令。

您當然想刪除每個特定使用者的下載。因此,如果下載位於他們的個人資料目錄中:

Get-ChildItem $env:USERPROFILE\downloads | Remove-Item -recurse

您可能需要對腳本進行簽名或設置-ExecutionPolicy Bypass,具體取決於您對 Powershell 的執行策略。關於如何在登錄腳本中執行 Powershell 有很多建議。

如果您在舊批處理文件中執行此操作,則很簡單:

rd /s /q %USERPROFILE%\Downloads\*
del /q  %USERPROFILE%\Downloads\*.*

引用自:https://serverfault.com/questions/1031616