Powershell - 设置所有者安全组

Powershell - set owner security group

我可以使用 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 在另一个帐户下运行)我将文件复制到新的目标文件夹,设置权限和所有者。权限设置没有问题,所有者用户也是如此,但我无法更改所有者的域(?)。我认为这是一种象征性的 link 但它根本没有改变。

使用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