使用 powershell 中的文本文件中的规则使用 icacls 设置权限
Set permissions with icacls with rules from a textfile in powershell
我正在尝试在 Powershell 中使用 Icacls 来设置本地权限。我有一个文本文件,我从中获得了权限。我是这样做的,因为我想更改很多文件夹的权限,我不想每次都更改脚本。
文本文件看起来像这样(使用了德语名称):
/grant:r SYSTEM:(OI)(CI)(F) /grant:r Administratoren:(OI)(CI)(F) /grant:r mydomain\Domänen-Admins:(OI)(CI)(F) /inheritance:r
/grant:r mydomain\user1:(OI)(CI)(R) /grant:r myodomain\user2:(OI)(CI)(C)
/grant:r mydomain\user2:(OI)(CI)(F) /deny mydomain\user2:(DE)
我的代码如下所示:
$AccessLine=cat .\Lines.txt
$ica=$AccessLine[0..2]
icacls.exe $path "ica" #$path is the path of folder which should be modified
总是说给出的参数无效。我无法按照 icacls $path 编写 /grant:r 部分,因为我还需要设置 /deny 权限。我想只用一个命令设置所有权限。这可能吗?
您有 3 组命令需要 运行。 $ica=$AccessLine[0]
行有效,因为您只调用其中一行。您正在请求一个循环,以便可以处理每一行。
$AccessLines = cat .\Lines.txt
$AccessLines | ForEach-Object{& icacls.exe $path $_}
FWIW cat
是 Get-Content
的别名,returns 文件作为行数组。
我正在尝试在 Powershell 中使用 Icacls 来设置本地权限。我有一个文本文件,我从中获得了权限。我是这样做的,因为我想更改很多文件夹的权限,我不想每次都更改脚本。
文本文件看起来像这样(使用了德语名称):
/grant:r SYSTEM:(OI)(CI)(F) /grant:r Administratoren:(OI)(CI)(F) /grant:r mydomain\Domänen-Admins:(OI)(CI)(F) /inheritance:r
/grant:r mydomain\user1:(OI)(CI)(R) /grant:r myodomain\user2:(OI)(CI)(C)
/grant:r mydomain\user2:(OI)(CI)(F) /deny mydomain\user2:(DE)
我的代码如下所示:
$AccessLine=cat .\Lines.txt
$ica=$AccessLine[0..2]
icacls.exe $path "ica" #$path is the path of folder which should be modified
总是说给出的参数无效。我无法按照 icacls $path 编写 /grant:r 部分,因为我还需要设置 /deny 权限。我想只用一个命令设置所有权限。这可能吗?
您有 3 组命令需要 运行。 $ica=$AccessLine[0]
行有效,因为您只调用其中一行。您正在请求一个循环,以便可以处理每一行。
$AccessLines = cat .\Lines.txt
$AccessLines | ForEach-Object{& icacls.exe $path $_}
FWIW cat
是 Get-Content
的别名,returns 文件作为行数组。