防止在 macOS 上创建 ._ 文件,或从 macOS/Windows 中删除它们

防止在 macOS 上创建 ._ 文件,或从 macOS/Windows 中删除它们

我有一个网络共享,我每天都会从 Windows 笔记本电脑和 MacBook Pro 访问它。Pro(或者说 VLC 应用程序)一直坚持为._<file name>我从 Pro 上的这个网络共享打开的每个视频创建一个文件。

我怎样才能防止创建这些文件?我花了 2 个小时研究这个问题,最后还是放弃了,决定直接在 Windows 端删除它们,因为我已经设置了一个批处理脚本,可以在启动时自动将共享映射到驱动器号。

但事实证明这更加困难!我试过了,Get-ChildItem -Path V:\._* -Recurse -Force | Remove-Item但结果却是Remove-Item : Cannot remove item <file name>. You do not have sufficient access rights to perform this operation.

所以我尝试了几种不同的方法$acl = Get-Acl <known good file>; Set-Acl -Path <file that won't f*** off> -AclObject $acl,但是那些命令全部返回Set-Acl : Some or all identity references could not be translated.

我快要疯了!谁能救救我吧!MTIA :-)

附言:我会接受适用于任一端(Mac 或 Windows)的解决方案,但最好从一开始就不创建这些文件。再次感谢!

更新:这是 Windows 中文件夹权限的屏幕截图:

Windows 中映射网络驱动器的根文件夹权限

我刚才明确设置了所有者,并尝试通过该窗口删除其他两个 ACL,但没有成功......点击“应用”后它们就直接回来了!:@

我也无法从本地计算机添加权限……对话框只允许我选择“位置”下的网络地址:

尝试为本地 PC 用户添加权限也失败

以下是@ErjenRijnders 要求的共享选项卡:

权限窗口的共享选项卡...没用!

我的路由器几乎是我 ISP 免费提供给客户的最便宜、最普通的路由器,所以我很惊讶它竟然支持所有这些功能,更不用说更多了 LOL。

答案1

您的网络共享是否在 Windows 文件服务器上运行?然后确保创建文件的目录对尝试删除文件的用户具有足够的权限。因此,mstsc 到远程服务器,在本地打开共享(如 C:\share)并检查权限。这意味着您需要授予用户 SMB 和 NTFS 权限,而不是其中之一,因为您尝试从网络共享中删除它。这也适用于 Linux 共享,请确保它也具有正确的 NFS 权限。

您也可以尝试从提升的命令提示符运行相同的命令。

可能最好的选择是告诉服务器(如果是 Windows Server)实际执行如下命令:

Invoke-Command -ComputerName Server01 -ScriptBlock { Get-ChildItem -Path V:\._* -Recurse -Force | Remove-Item }

有关invoke命令的更多信息:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/invoke-command?view=powershell-6

相关内容