Powershell - 设置所有者安全组

时间:2016-12-20 12:00:04

标签: powershell file-permissions

我可以使用Powershell为文件的所有者设置吗? 我的意思是,我可以将CVWINSERV1\None更改为BUILTIN\Administrators吗?

Path   : Microsoft.PowerShell.Core\FileSystem::C:\dev\lpeg.dll
Owner  : BUILTIN\Administrators
Group  : CVWINSERV1\None
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
Audit  :
Sddl   : O:BAG:S-1-5-21-704654959-829129038-1184563323-513D:AI(A;ID;FA;;;SY)(A;ID;FA;;;BA)(A;ID;0x1200a9;;;BU)

整个场景是这样的:我在我的帐户下复制Windows资源管理器中的文件。之后,在我的应用程序中(使用在另一个帐户下运行的Tomcat)我将文件复制到新的目标文件夹,设置权限和所有者。权限设置没有问题,以及所有者用户,但我无法更改所有者的域(?)。我认为这是一种象征性的联系,但它根本没有改变。

1 个答案:

答案 0 :(得分:3)

使用Get-Acl检索ACL,然后调用SetGroup()方法设置组:

$ACL = Get-Acl .\path\to\file
$Admins = New-Object System.Security.Principal.NTAccount 'BUILTIN\Administrators'
$ACL.SetGroup($Admins)
$ACL |Set-Acl .\path\to\file