限制使用者通過 GPO 在其桌面、我的文件、我的音樂、我的影片、我的圖片等上保存
**我要完成以下任務:**使用者不得有在其桌面、我的文件、我的音樂、我的影片、我的圖片等上保存的權限。
我已經通過 GPO 阻止並隱藏了所有驅動器。但是,使用者仍然可以將文件儲存在上面列出的位置。
伺服器作業系統:Windows Server 2008 R2
客戶端作業系統:Windows XP、Windows Vista 和 Windows 7
如果您使用的是 Windows Server 2008,這非常容易。
- 創建組策略對象,進入
Computer Configuration
>Policy
>Windows Settings
>Security Settings
>File System
- 右鍵點擊並
%userprofile%\Desktop
為要限制訪問的不同文件夾添加 ….etc。- 為使用者或使用者組指定指定文件夾的權限。
這可以通過登錄腳本實現,但有點棘手,並且需要進行測試以確保它在目標環境中正常工作。它假設 ACL 中的 ACE 條目(系統、管理員和使用者),並且使用者是所有者(通常是所有者)。它不是萬無一失的安全性,但它可以幫助最大限度地減少隨意的“將 2 GB iso 文件保存到漫遊配置文件桌面文件夾”的情況。
概括地說,當使用者登錄時,在最後一次登錄腳本的末尾,ACL 他們的桌面和其他位置,以便他們具有讀取和執行權限。
在 logOFF 腳本中,將權限恢復正常。
在 logON 腳本開始時,還應該檢查以在註銷腳本失敗的情況下將權限重置為正常。
有多種 ACL 工具可供使用:icacls、fileacl、setacl。
可以使用以下 PowerShell 語法確定正確的路徑:
[Environment]::GetFolderPath("DesktopDirectory")
這應該用於確保在重定向位置而不是本地位置上執行操作。
要獲取所有環境特殊文件夾位置的列表:
[Environment+SpecialFolder]::GetNames([Environment+SpecialFolder])
這通常會返回:
桌面
程序
Personal
MyDocuments
收藏夾
啟動
最近
SendTo
StartMenu
MyMusic
DesktopDirectory
MyComputer
模板
ApplicationData
LocalApplicationData
InternetCache
Cookies
History
CommonApplicationData
System
ProgramFiles
MyPictures
CommonProgramFiles
請注意,有 Desktop 和 DesktopDirectory 特殊文件夾。
下面是一個範例 PowerShell 命令,用於使用 FileAcl 為使用者將 Desktop 文件夾設置為 Read and Execute:
$user = [System.Environment]::ExpandEnvironmentVariables("%USERDOMAIN%\%USERNAME%") $exe = "C:\util\FileAcl\FileAcl.exe " $arg1 = [System.Environment]::GetFolderPath("DesktopDirectory") $arg2 = "/S" $arg3 = "`"NT AUTHORITY\SYSTEM`":F" $arg4 = "/S" $arg5 = "`"" + $user + "`"" + ":RX" $arg6 = "/S" $arg7 = "`"BUILTIN\Administrators`":F" $arg8 = "/REPLACE" $arg9 = "/PROTECT" $allArgs = @($arg1, $arg2, $arg3, $arg4, $arg5, $arg6, $arg7, $arg8, $arg9) &$exe $allArgs
要將文件夾設置為使用者的修改權限,arg5 將是:
$arg5 = "
"" + $user + "
"" + “:RWXD”