curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
嗨,当我得到上面的代码并使用我自己的设置应用它时 - 为文件夹添加了用户帐户条目,但是没有应用权限(没有勾选)
任何人都可以帮忙解决这个原因吗?
由于
答案 0 :(得分:3)
您的评论描述了以下行为:
您的PowerShell脚本成功,但如果您使用资源管理器属性对话框检查权限,则会看到以下内容:
这很令人困惑,因为PowerShell查询会确认:
PS> Get-Acl .|fl
Path : Microsoft.PowerShell.Core\FileSystem::D:\temp\myfolder
Owner : clijsters\clijsters
Group : clijsters\Kein
Access : clijsters\NEWUSER Allow FullControl
VORDEFINIERT\Administratoren Allow FullControl
VORDEFINIERT\Administratoren Allow 268435456
NT-AUTORITÄT\SYSTEM Allow FullControl
[...]
您的ACL已更改。如果您向下滚动复选框列表,您会注意到,“特殊权限”已被选中,如果您点击“高级”,您会注意到,您的权限已设置。
编辑:
正如@AnsgarWiechers所提到的,我错过了一个描述为什么添加了New-Object System.Security.AccessControl.FileSystemAccessRule("username", "FullControl", "Allow")
的权限列为特殊权限的部分。
与MSDN上描述的一样,FileSystemAccessRule
有4个构造函数,其中一些接受InheritanceFlags
和PropagationFlags
(例如this one符合您的需求)。如果您使用它们并定义继承行为,则权限将显示为正常权限。
答案 1 :(得分:0)
今天,我正在尝试编译ILSpy并遇到AL1078: Error signing assembly
,这是一个权限问题。显示答案的合并。
此powershell脚本将$CurUsr
分配给当前登录用户的令牌,并将$CurTgt
分配为权限被更改的文件夹。根据需要更改它们。
添加权限:
$CurTgt = "C:\Users\All Users\Microsoft\Crypto\RSA\MachineKeys"
$CurUsr = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$acl = Get-Acl $CurTgt
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($CurUsr,"FullControl","ContainerInherit,ObjectInherit","None","Allow")
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl $CurTgt
删除权限:
$CurTgt = "C:\Users\All Users\Microsoft\Crypto\RSA\MachineKeys"
$CurUsr = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$acl = Get-Acl $CurTgt
$usersid = New-Object System.Security.Principal.Ntaccount ($CurUsr)
$acl.PurgeAccessRules($usersid)
$acl | Set-Acl $CurTgt
参考文献: