Я переношу файловую систему NetApp на NTFS. Он установлен как на Windows, так и на Linux. Мой сценарий проверки в Powershell просматривает файловую систему и выполняет различные проверки того, что источник и цель совпадают. Например, он проверяет временные метки и контрольные суммы.
Он также сравнивает списки ACL, используя свойство sddl
в get-acl
. Однако некоторые файлы на самом деле являются символическими ссылками Linux. В этом случае все работает, но вызов get-acl
выдает ошибку
Get-Acl: попытка выполнить неавторизованную операцию.
В этом случае безопасность действительно находится на целевой ссылке , поэтому мне не нужно это проверять. Однако я не могу понять, как пропустить проверку этих файлов, поскольку я не могу понять, как определить, что это символические ссылки Linux.
Есть ли способ определить, что файл является символической ссылкой Linux, чтобы я мог пропустить проверку get-acl
?
Я бы просто использовал try
и catch
. Попытайтесь выполнить свою работу с файлом, если это не удастся, изящно перейдите к следующему.