在PowerShell中授予对文件和目录的完全权限

时间:2016-05-07 12:19:04

标签: powershell permissions cmdlet

所以我正在尝试学习PowerShell,我实际上并不知道如何为目录及其文件提供完全权限。搜索信息我发现icacls命令是提供权限的最有用的工具,我尝试过类似的东西,但它返回一个错误,说OI不是cmdlet。 我的脚本如下:

param(
[int]$nIteration,
[string]$directory
)

$n = 0
$name = "file"
while ($n -ne $nIteration)
{
    New-Item -path . -name $name$n -itemtype "file" -value "This is a text string."
    New-Item -ItemType directory -Name $directory$n
    Move-Item -Path .\$name$n -Destination $directory$n
    icacls --% ".\$directory$n" /grant media:(OI)F

    $n = $n+1
}

感谢您的帮助!

注意:媒体是我的用户。

1 个答案:

答案 0 :(得分:0)

PowerShell解析器认为()是在调用icacls.exe之前要评估的单独表达式。

使用stop-parsing运算符(--%)将参数作为字符串处理:

icacls --% "C:\users\media\desktop\p1pow" /grant media:(OI)F

--%运算符也会禁用字符串扩展,因此在参数之后使用包含变量和子表达式:

icacls ".\$directory$n" --% /grant media:(OI)F

有关详细信息,请参阅Get-Help about_Parsing