官网地址:https://helgeklein.com/download/

setACL.EXE软件,将某个文件夹下的递归目录和递归文件的所有者更改?

要使用 SetACL.exe 工具更改某个文件夹下的所有递归目录(子文件夹)和递归文件的所有者,您需要以管理员权限运行命令提示符(CMD),然后使用以下语法:基本语法

SetACL.exe -on "文件夹路径" -ot file -actn setowner -ownr "n:新所有者" -rec cont_obj
  • -on "文件夹路径":指定目标文件夹的完整路径,例如 "C:\MyFolder"。如果路径包含空格,请用双引号包围。
  • -ot file:指定对象类型为文件或目录(适用于文件夹和文件)。
  • -actn setowner:执行更改所有者的操作。
  • -ownr "n:新所有者":指定新所有者。格式为 n:域\用户名(如 n:DOMAIN\UserX)或 n:计算机名\用户名(如 n:PCNAME\UserX),或直接使用 SID(如 n:S-1-5-32-544 表示 Administrators 组)。如果省略域,则优先搜索本地账户。
  • -rec cont_obj:启用递归处理,包括容器(目录)和对象(文件)。
    示例假设要将 C:\Data 文件夹及其所有子文件夹和文件的所有者更改为本地 Administrators 组:
SetACL.exe -on "C:\Data" -ot file -actn setowner -ownr "n:S-1-5-32-544" -rec cont_obj

运行后,SetACL 会递归遍历文件夹树并应用更改。如果遇到访问拒绝错误,确保您以管理员身份运行,并可能需要先授予当前用户“Take Ownership”权限。注意:SetACL.exe 需要从官方来源下载(如 Helge Klein 的网站),并确保工具版本支持您的 Windows 系统。

列出排除目录,怎么写?

要使用 SetACL.exe 在递归操作中排除特定目录(或文件),您可以使用 -fltr 参数添加过滤关键字。该参数会跳过任何路径中包含指定关键字的对象名称,从而实现排除效果。可以多次使用 -fltr 来排除多个关键字。基本语法

SetACL.exe -on "文件夹路径" -ot file -actn setowner -ownr "n:新所有者" -rec cont_obj -fltr "排除关键字1" -fltr "排除关键字2"
  • -fltr "排除关键字":指定要排除的字符串(例如目录名)。如果路径中包含该字符串,该对象将被跳过。
  • 其他参数同之前所述。
    示例假设要将 C:\Data 文件夹及其所有子文件夹和文件的所有者更改为 Administrators 组,但排除名为 "Temp" 和 "Logs" 的子目录:
SetACL.exe -on "C:\Data" -ot file -actn setowner -ownr "n:S-1-5-32-544" -rec cont_obj -fltr "Temp" -fltr "Logs"

运行时,SetACL 会递归处理,但跳过路径中包含 "Temp" 或 "Logs" 的目录/文件。如果需要更精确的排除(如完整路径),可以结合多个关键字或使用通配符,但 -fltr 基于字符串匹配。注意:此功能适用于文件系统对象,确保以管理员权限运行。

清空某个文件夹及递归文件(夹)的审核者,怎么写?

要使用 SetACL.exe 清空某个文件夹及其所有递归子文件夹(目录)和文件(对象)的审核者(即审计条目,Auditing Entries),您需要以管理员权限运行命令提示符(CMD),然后使用以下语法。该操作会移除所有现有的审计权限,而不影响其他 ACL 条目。基本语法

SetACL.exe -on "文件夹路径" -ot file -actn clearaudits -rec cont_obj
  • -on "文件夹路径":指定目标文件夹的完整路径,例如 "C:\MyFolder"。如果路径包含空格,请用双引号包围。
  • -ot file:指定对象类型为文件或目录(适用于文件夹和文件)。
  • -actn clearaudits:执行清空所有审计条目的操作。
  • -rec cont_obj:启用递归处理,包括容器(目录)和对象(文件)。
    示例假设要清空 C:\Data 文件夹及其所有子文件夹和文件的审核者:
SetACL.exe -on "C:\Data" -ot file -actn clearaudits -rec cont_obj

运行后,SetACL 会递归遍历文件夹树并移除所有审计条目。如果需要排除特定目录,可以结合之前的 -fltr 参数使用,例如:

SetACL.exe -on "C:\Data" -ot file -actn clearaudits -rec cont_obj -fltr "Temp"

注意:此操作不可逆,确保备份 ACL(使用 -actn backup 参数)后再执行。SetACL.exe 需要从官方来源下载,并确保以管理员身份运行。如果遇到访问拒绝,可能需先更改所有者或授予权限。

清空某个文件夹及递归文件(夹)的审核者,但是可以列出排除条目,怎么写?

要使用 SetACL.exe 清空某个文件夹及其所有递归子文件夹(目录)和文件(对象)的审核者(即 SACL 中的审计条目),但排除特定目录或文件,并通过日志文件列出被排除的条目,您需要以管理员权限运行命令提示符(CMD)。注意:SetACL.exe 的正确操作是使用 -actn clear -clr sacl 来清除 SACL(审计),而非之前的 -actn clearaudits(这是文档中的标准语法)。日志文件(-log 参数)会记录操作细节,包括被过滤(排除)的对象路径,从而实现“列出排除条目”的效果。基本语法

SetACL.exe -on "文件夹路径" -ot file -actn clear -clr sacl -rec cont_obj -fltr "排除关键字1" -fltr "排除关键字2" -log "日志文件路径.txt"
  • -on "文件夹路径":指定目标文件夹的完整路径,例如 "C:\MyFolder"。如果路径包含空格,请用双引号包围。
  • -ot file:指定对象类型为文件或目录(适用于文件夹和文件)。
  • -actn clear -clr sacl:执行清除 SACL(审计条目)的操作。只清除非继承的审计 ACE,不影响 DACL 或所有者。
  • -rec cont_obj:启用递归处理,包括容器(目录)和对象(文件)。
  • -fltr "排除关键字":添加过滤关键字,跳过路径中包含该字符串的目录/文件。可以多次使用以排除多个关键字。
  • -log "日志文件路径.txt":指定日志文件(Unicode 格式),记录所有操作细节,包括被排除的对象路径、错误等。运行后,查看日志文件即可列出排除条目(日志会显示如 "Filtered out: [路径]" 的条目)。
    示例假设要清空 C:\Data 文件夹及其所有子文件夹和文件的审核者,但排除名为 "Temp" 和 "Logs" 的子目录,并将排除条目记录到日志文件 C:\Data\audit_log.txt:
SetACL.exe -on "C:\Data" -ot file -actn clear -clr sacl -rec cont_obj -fltr "Temp" -fltr "Logs" -log "C:\Data\audit_log.txt"

运行后:

  • SetACL 会递归清除审计条目,但跳过包含 "Temp" 或 "Logs" 的路径。
  • 打开 C:\Data\audit_log.txt 查看日志,即可列出所有被排除的条目(例如,路径列表和过滤原因)。
    注意:此操作不可逆,确保先备份 ACL(使用 -actn backup -bckp "备份文件.sav")。如果日志未明确列出排除条目,可结合 -actn list -lst 先列出所有对象,再比较日志。SetACL.exe 需要从官方来源下载,并以管理员身份运行。如果遇到访问拒绝,可能需先更改所有者。

实际应用:

SetACL.exe -on "C:" -ot file -actn clear -clr sacl -rec cont_obj -fltr "C:\Program Files\Windows Defender" -fltr "C:\Program Files\Windows Defender Advanced Threat Protection" -fltr "C:\Program Files\WindowsPowerShell" -fltr "C:\Program Files (x86)\Microsoft" -fltr "C:\Program Files (x86)\Windows Defender" -fltr "C:\$Recycle.Bin" -fltr "C:\System Volume Information" -fltr "C:\PerfLogs" -fltr "C:\pagefile.sys"

用setacl.exe的命令行设置文件的所有者

使用 SetACL.exe 命令行设置文件所有者

SetACL.exe 是一个免费的 Windows 工具,用于管理文件、文件夹或注册表的访问控制列表 (ACL),包括设置所有者。它需要以管理员权限运行命令提示符。

基本语法

要设置文件或文件夹的所有者,使用以下命令格式:

text

SetACL.exe -on "<文件或文件夹路径>" -ot file -actn setowner -ownr "n:<受托人>"
  • -on:指定目标文件或文件夹的路径(推荐使用绝对路径,例如 "C:\example.txt")。
  • -ot file:指定对象类型为文件或文件夹(file 表示文件系统对象)。
  • -actn setowner:执行设置所有者的操作。
  • -ownr "n:<受托人>":指定新所有者。<受托人> 可以是:
    • 用户名或组名,例如 "Administrators"(管理员组)或 "DOMAIN\username"(域用户)。
    • SID(安全标识符),例如 "S-1-5-32-544"(对应 Administrators 组)。

注意

  • 如果路径包含空格,必须用双引号包围。
  • 要递归设置子文件夹的所有者,可以添加 -rec cont_obj(仅容器对象,如文件夹)。
  • 运行前确保 SetACL.exe 已下载并在 PATH 中,或指定其完整路径。

设置文件内的全部文件的所有者,排除子文件夹?

使用 SetACL.exe 设置文件夹内全部文件的所有者(排除子文件夹)

SetACL.exe 本身没有直接的内置选项来精确应用操作只限于当前文件夹的顶层文件(不递归进入子文件夹)。默认情况下:

  • 不使用 -rec 时,只处理指定的文件夹本身(不包括其内容)。
  • 使用 -rec obj 时,会递归进入子文件夹,但只处理文件(仍会影响子文件夹中的文件)。

要实现“只设置当前文件夹内文件的所有者,排除所有子文件夹及其内容”,推荐使用 Windows 命令提示符 (CMD) 的 for 循环 来迭代文件夹中的文件,然后对每个文件单独应用 SetACL.exe。这是一种可靠的命令行方法,避免了递归。

基本语法(使用 for 循环)

在管理员权限的 CMD 中运行:

text

for %i in ("<文件夹路径>\*.*") do SetACL.exe -on "%i" -ot file -actn setowner -ownr "n:<受托人>"
  • for %i in ("<文件夹路径>."):迭代文件夹中所有文件(. 匹配所有文件类型,不包括子文件夹)。
  • do SetACL.exe …:对每个文件 (%i) 执行 SetACL 操作。
  • 注意
    • 如果路径包含空格,用双引号包围。
    • 在批处理文件 (.bat) 中,使用 %%i 而非 %i。
    • <受托人>:如 "Administrators"(管理员组)或 "DOMAIN\username"。

登录

注册

重设密码

请输入您的用户名或电子邮箱地址。您会收到一封包含创建新密码链接的电子邮件。