问题标签 [icacls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5513 浏览

powershell - 如何在 PowerShell 中捕获 icacls.exe 的所有输出

我们有一个每周运行一次并调整特定文件共享的所有权限的脚本。我主要为此使用 PowerShell 脚本,但也在某些部分执行 icacls.exe。由于文件较多,运行icacls.exe时会出现错误

在我的脚本开始时,我重置了每个客户文件夹的所有权限,然后重置了它的所有子项。其中一部分包括重置对象所有者。

我像这样调用icacls.exe。

然后,我检查特定文本的字符串$ICACLSResult以检查是否发生错误,并将字符串本身附加到我的错误消息中。

但是,变量的实际内容是$ICACLSResult这样的。

但是当我直接在控制台中运行相同的命令时,它看起来像这样。

但又$ICACLSResult是这个样子。

如果没有这些详细的错误消息,记录变量是没有用的$ICACLSResult因为它只说有多少文件失败,而不是具体是哪些文件。

我怎样才能获得这些附加信息并将其存储在$ICACLSResult?我想要的只是失败文件的路径。

到目前为止我也尝试过的

  1. $ICACLSResult = icacls "$OBJPath\*" /setowner $OBJOwner /t /c /q 2>&1
  2. $ICACLSResult = icacls "$OBJPath\*" /setowner $OBJOwner /t /c /q 2>&1 | Out-String -Stream -Width 9999
  3. $ICACLSResult = icacls "$OBJPath\*" /setowner $OBJOwner /t /c /q

为什么他们不工作

  1. 信息过多,包含换行符
  2. 信息过多,包含换行符
  3. 所需信息仍然不可变$ICACLSResult
0 投票
1 回答
543 浏览

batch-file - 为 icacls 提供外部变量时的奇怪问题

早上好。

我的批处理脚本有问题。我有一个程序为其提供一个变量,我使用该变量创建一个文件夹,然后对其应用 Icalcs 权限。出于某种原因,它将创建具有变量名称的文件夹,但 Icalcs 将在变量应该存在的位置为空白。这是代码 -

%2 正在从运行该脚本的程序中提取变量,然后我将变量放入另一个变量中,看看这是否会让 Icacls 高兴,但事实并非如此。如果没有从程序中提取的变量,此脚本可以正常工作。我无法弄清楚为什么 Path 和 Username 变量除了 Icacls 之外在任何地方都有效。这是icacls的一些缺陷吗?

谢谢

0 投票
0 回答
677 浏览

c# - 如何使用 runas 成功运行 icacls?

我的代码有问题,我找不到(由于不同的服务器问题,我无法调试)。我正在尝试运行一个设置文件夹权限的命令,但我也想以不同的用户身份运行它。因此,当我启动我的程序并到达这一点时,它要么继续(打开命令控制台)并且没有授予权限,要么冻结我的表单并且没有打开控制台或授予权限。

因此,在第一种情况下,我使用以下代码:

我使用的第二种情况:

有人可以告诉我为什么它不起作用吗?

0 投票
1 回答
548 浏览

windows - 如何使用 SubInAcl.exe 删除目录的所有继承权限?

如何使用 SubInAcl.exe 删除目录的所有继承权限?

我可以通过使用 /inheritance:r 来使用 icacls

有没有办法对 SubInAcl 做同样的事情?

0 投票
1 回答
2574 浏览

batch-file - icacls 替换权限驱动器根

我在 Windows 2012 R2 上运行,尝试使用批处理文件使用 icacls 管理我的 NTFS 权限。批处理文件几乎完成了,然后我将把它交给经验少得多的人来管理,所以我试图让他尽可能容易。

我想自动替换驱动器根目录 (E:) 上的所有权限,以防它们被修改。整个驱动器将恢复为已知配置。然后我将在根目录(管理员、备份等)设置一些权限,这些权限将通过继承传播到所有子目录。(可能这2个操作是同一个icacls调用)子目录很多,每一个都会应用不同的权限。我已经完成并成功完成了批处理文件的子目录部分。

我一直无法使用 icacls 替换驱动器根目录上的所有权限。我努力了:

两者都没有成功。为了测试,我添加了另一个可以访问 E: 的组。批处理文件成功执行完成后,其他组仍然可以访问;它没有从 E: 的 ACL 中删除。

有任何想法吗?

0 投票
0 回答
62 浏览

batch-file - 仅删除部分批处理文件的反逗号

我为客户创建了一个批处理文件来创建项目目录

在为 wexample“A001 测试项目”创建根文件夹时,我必须添加引号,然后根据需要创建所有目录。

当涉及到 ICACLS 时,它会失败,因为它不需要 %dname% 周围的 ""

我怎样才能删除这部分的报价,以便 ICACLS 可以工作。

批处理文件代码如下;

0 投票
2 回答
465 浏览

batch-file - 在文件的循环中附加保存的 ICACLS 设置

假设 C:\temp\listoffolders.txt 中的文件或文件夹列表

输出是完美的......但我需要克服的问题是将数据附加到保存文件而不是覆盖......

0 投票
2 回答
15715 浏览

powershell - 使用 ICACLS 将文件权限设置为“只读”

我正在从简单、直观的chmod 400转换到尝试在 Windows 命令提示符中使用ICACLS. 与 UNIX/LINUX 的圆滑、八进制表示相比,这chmod似乎ICACLS是一场复杂的噩梦。

我有一个 SSH .pem 密钥,我试图将其设为只读。我想用这个新的只读权限替换当前存在的旧权限。我最接近找到答案的方法如下:

ICACLS "D:\Folder A\Another Folder\File Name Here.ext" /GRANT:R "DOMAIN\USERNAME":R
(在这里找到:https ://www.experts-exchange.com/questions/27624477/What-c​​ommand-can-give-user-read-only-permission.html )

我相信:R最后允许我替换当前权限,这就是我想要的。但我不知道该为该"DOMAIN\USERNAME"部分添加什么。有什么建议吗?

0 投票
1 回答
1209 浏览

cmd - icacls C:\Users\%username%\AppData\Local\Mozilla\updates /q /c /t /deny users:F

我想拒绝当前用户访问、修改、读取提到的文件夹的权限。使用 icacls。 icacls C:\Users\%username%\AppData\Local\Mozilla\updates /q /c /t /deny users:F 但我收到错误“系统找不到指定的路径

任何人都可以在这方面帮助我。

0 投票
1 回答
939 浏览

batch-file - 特定文件夹的批处理脚本权限授予

我有一个脚本,当前在名为“Avid MediaFiles”的目录中查找所有文件/子文件夹,并授予完全控制权限+将结果输出到文本文件中。

唯一的问题是,一旦它运行,它会修复所有文件/文件夹,无论其权限状态如何,即使是之前已修复的文件/文件夹。理想情况下,我想添加一个条件,在该条件下它跳过修复已经拥有完全控制权限的那些并更改那些没有的。仅使用批处理脚本可行吗?