我正在迁移基于 NetApp NTFS 的文件系统。它安装在 Windows 和 Linux 机器上。我在 Powershell 中的验证脚本正在遍历文件系统并进行各种检查以确保源和目标相同。例如,它会检查时间戳和校验和。
它还使用sddl
的属性比较 ACL get-acl
。但是,有些文件实际上是 Linux 符号链接。在这种情况下,一切正常,但调用get-acl
会引发错误
Get-Acl:尝试执行未经授权的操作。
在这种情况下,安全性确实在链接目标上,所以我不需要检查这一点。但是,我不知道如何跳过检查这些文件,因为我无法弄清楚如何检测它们是 Linux 符号链接。
有没有办法检测一个文件是否是 Linux 符号链接,以便我可以跳过检查get-acl
?
答案1
我只会使用try
和catch
。尝试对文件进行工作,如果失败,则优雅地跳到下一个。