get-acl解决了哪个系统?

时间:2014-11-26 15:12:01

标签: powershell

我继承了一个Powershell脚本,远程客户使用该脚本递归搜索目录并导出(到csv)多个ACL值,包括Path,Owner,FileSystemRights,IdentifyReference和AccessControlType。该脚本运行良好,但我很好奇流程是如何实际发生的。下面是部分脚本,显示与我的问题相关的代码。

//部分脚本开始:

get-childitem $rootdir -recurse | where-object {$_.psIscontainer -eq $true} | foreach-object {
  $a = ($_.Fullname)
  $b = (get-acl $_.Fullname).Owner
  $c = (get-acl $_.Fullname).Access

  foreach ($c1 in $c) {
    $d = $c1.FileSystemRights
    $e = $c1.AccessControlType

//部分脚本结束。

对于我的问题:如果在远程系统上运行此脚本,使用管理员权限和变量$ rootdir = \\ someshare,在托管文件夹结构的系统上,get-acl在哪个系统上得到解析...远程系统运行PS脚本并映射到共享文件夹?

感谢。

//我原来的问题可能有点模糊,所以希望我能澄清一下。通过在远程系统上使用get-acl并映射到服务器共享文件夹,将调用get-acl导致在ACL解析过程中服务器上的任何资源命中...磁盘I / O,内存,CPU。我不是程序员,所以当我试图正确地提出问题时,请耐心等待。

2 个答案:

答案 0 :(得分:0)

假设您已正确设置所有身份验证(如果我正确理解您的计划,您将遇到双跳身份验证问题),将在运行脚本的系统上执行对Get-Acl的调用。< / p>

答案 1 :(得分:0)

来自Get-ACL cmdlet上的technet article

  

Get-Acl cmdlet使您可以检索安全描述符   (访问控制列表)文件,文件夹甚至注册表项

它检索指定的任何文件夹的NTFS持久性,包括远程文件夹。

在您的情况下,它将从运行脚本的计算机运行,并使用提供的凭据对远程计算机进行身份验证以检索ACL