【问题标题】:Using Powershell To Check Home Folder Permissions For All AD users使用 Powershell 检查所有 AD 用户的主文件夹权限
【发布时间】:2021-07-17 04:34:56
【问题描述】:

如何通过 Powershell 检查所有 AD 用户的主文件夹权限?

到目前为止,这是我的脚本:

    $MyUser = Get-ADUser -filter 'name -like "*"'

    foreach ($User in $MyUser)

    {

    (Get-ACL -path \\NameOfMyServer\home\$MyUser).access | ft 
    IdentityRerference,FileSystemRights,IsInherited -Auto

    }

我收到一条很长很长的错误消息(每个用户一条消息),上面写着: “ObjectNotFound (:) [Get-ACL] ItemNotFoundException Get-ACL_PathNotFound_Exception,Microsoft,Powershell.Commands.Get-ACLCommand。”

我可以让它工作,但只有当我一次为一个用户运行它时:

    (Get-ACL -path \\NameOfMyServer\home\barry.scott).access | ft 
    IdentityRerference,FileSystemRights,IsInherited -Auto

我也试过这样:

    $MyUser = Get-ADUser -filter 'name -like "$_.GivenName.$_.Surname*"'

    foreach ($User in $MyUser)

    {

    (Get-ACL -path \\NameOfMyServer\home\$MyUser).access | ft 
    IdentityRerference,FileSystemRights,IsInherited -Auto

    }

在这种形式中,我没有得到任何输出,也没有错误。

这是针对 Server 2012 的。有什么想法吗?

我希望这是有道理的 - 谢谢!

【问题讨论】:

    标签: powershell permissions active-directory


    【解决方案1】:

    你目前有

    (Get-ACL -path \\NameOfMyServer\home\$MyUser).access 
    

    你可能想要

    (Get-ACL -path \\NameOfMyServer\home\$User.SamAccountName).access 
    

    完整示例

    $MyUser = Get-ADUser -filter 'name -like "*"'
    
    foreach ($User in $MyUser)
    {
    (Get-ACL -path \\NameOfMyServer\home\$($User.SamAccountName)).access | ft IdentityReference,FileSystemRights,IsInherited -Auto
    }
    

    【讨论】:

    • 成功了!非常感谢大卫!你太棒了!
    • 不客气。 $($object.property) 让我绊倒了。很难用一种你也可以搜索它的方式来描述它。棘手。
    猜你喜欢
    • 1970-01-01
    • 2020-06-16
    • 2012-11-10
    • 1970-01-01
    • 2017-02-04
    • 2010-10-28
    • 2013-07-08
    • 1970-01-01
    • 2019-09-08
    相关资源
    最近更新 更多