2016-08-08 7 views
0

Get-AclをUNCパスで動作させて、ディレクトリとすべての基礎となるファイルとディレクトリの共有アクセス権を取得するのが難しいです。Get-AclはUNCパスで動作しないようですか?

私が使用するコードは次のようになります。

$OutFile = "C:\Users\xxxx\Desktop\Permissions.csv" 
$Header = "Folder Path,IdentityReference,AccessControlType,IsInherited,InheritanceFlags,PropagationFlags,FileSystemRights" 
del $OutFile 
Add-Content -Value $Header -Path $OutFile 

$RootPath = "\\intranet\sites\folder1\folder2\target-folder-as-root" 

$Folders = dir $RootPath -Recurse 
#| where {$_.psiscontainer -eq $true}-recurse 

foreach ($Folder in $Folders) { 
    $ACLs = Get-Acl $Folder.Fullname | ForEach-Object { $_.Access } 
    foreach ($ACL in $ACLs) { 
     $OutInfo = $Folder.Fullname + "," + $ACL.IdentityReference + "," + 
        $ACL.AccessControlType + "," + $ACL.IsInherited + "," + 
        $ACL.InheritanceFlags + "," + $ACL.PropagationFlags + "," + 
        $ACL.FileSystemRights 
     Add-Content -Value $OutInfo -Path $OutFile 
    } 
} 

が、これが発生する可能性があります、アカウントに、ファイル名のサイズ制限の問題を服用していない、私は次のエラーを取得する:

Get-Acl : Method failed with unexpected error code 1. 
At C:\Users\xxxx\Documents\ntfs_permissions.ps1:12 char:10 
+  $ACLs = Get-Acl $Folder.Fullname | ForEach-Object { $_.Access } 
+    ~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:) [Get-Acl], InvalidOperationException 
    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.GetAclCommand

私はリスト上のドキュメントを見つけますUNCパスを使用する共有ドライブの共有アクセス許可(ルートから開始してアクセス許可を一覧表示するのではなく、サブフォルダからのみ開始する)は非常に制限されています。使用する

+0

は、Get-ACLはでは、Get-ACLを使用しようとすると、しかし、私は同じエラーを取得し、標準のSMB共有パスのファイルシステム権限が表示されますあなたがしようとしているように見えるSharePointサイト。実際にWebDavを使用していて、SMBを使用していないことが原因と考えられます。 –

+0

私のsharefileの共有パーミッションを取得する方法をさらに教えてもらえますか? – Don

+0

私はSharePoint管理の経験があまりないと思います。使用可能なSharePoint PowerShellスナップインまたはモジュールについていくつか調査して、ドキュメントライブラリにアクセス許可を与えるコマンドレットがあるかどうかを確認することをお勧めします。 –

答えて

0

試してみてください。$ACLs = (Get-Acl $Folder.fullname).Access

の代わりに:$ACLs = Get-Acl $Folder.Fullname | ForEach-Object { $_.Access }

関連する問題