Получить Acl из PowerShell и GetAccessControl из c# выбросить код ошибки 50 для папки, созданной на диске NFS - PullRequest
0 голосов
/ 26 мая 2020

Я могу создать папку на диске NFS вручную. Скажем, диск E и имя папки checkwrite , но когда я запускаю Get-Acl E: \ checkwrite, я получаю следующее исключение:

Get-Acl : Method failed with unexpected error code 50.
At line:1 char:1
+ Get-Acl
+ ~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-Acl], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.GetAclCommand 

Когда я запускаю GetAccessControl над папкой из кода c#, я получаю

Сообщение об исключении: сбой метода с неожиданным кодом ошибки 50.

Трассировка стека:

at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
  at System.Security.AccessControl.FileSystemSecurity..ctor(Boolean isContainer, String name, AccessControlSections includeSections, Boolean isDirectory)
  at System.Security.AccessControl.DirectorySecurity..ctor(String name, AccessControlSections includeSections)
  at System.IO.DirectoryInfo.GetAccessControl()

https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-?redirectedfrom=MSDN отсюда, похоже, запрос не поддерживается. но если я запускаю ту же команду для локального диска, например папок в C, она работает.

Есть идеи здесь? Как это отладить?

...