![Windows SMB 共享上的 Excel 文件,可通过 iMac 访问](https://linux22.com/image/1591352/Windows%20SMB%20%E5%85%B1%E4%BA%AB%E4%B8%8A%E7%9A%84%20Excel%20%E6%96%87%E4%BB%B6%EF%BC%8C%E5%8F%AF%E9%80%9A%E8%BF%87%20iMac%20%E8%AE%BF%E9%97%AE.png)
首先我想描述一下环境:
服务器:
Windows Server 2016(保存网络 SMB 共享文件夹)
客户:
Mac OS X(El Capitan/Sierra),所有用户都使用它,并拥有对网络共享根目录和所有子文件夹等的完全访问权限。他们不在域中,但使用所有相同的凭据连接到网络共享。他们使用的软件与最新的 MAC OS 不兼容。
现在来谈谈问题:
当用户访问网络共享上的 Excel 文件时,他们无法以相同的名称再次保存它。他们可以删除文件、重命名文件、移动文件等。因此,现在他们必须打开 Excel 文件,以不同的名称保存它,删除前一个文件,然后将新文件重命名为旧文件。这不是很糟糕,但很烦人。其他办公软件产品可以正常工作(Word、Powerpoint 等),只有 Excel 会导致此问题。
到目前为止我尝试/检查了什么:
- 确保网络共享根目录中的 .temporaryitems 为用户提供完全访问权限。
- 确保没有其他人访问我正在使用的同一个文件
- 禁用 Excel 中的自动保存功能
- 已禁用网络共享上的 .DS_Store 创建
错误信息是什么:
无法将其保存在 bla.xlsx 下,将文件保存为 [大约 8 位数字的随机十六进制文件名]。(注意:该文件可以在 .temporaryitems 文件夹中找到)
我的老板不会接受的解决方案:
- 将网络共享从 smb 更改为 cifs 或 afp(其背后的原因并不重要)
我想到了一个解决方法,但我的老板不太高兴:
- 在他们的 NAS 上创建了一个网络共享 (smb)。在那里工作得很好。老板抱怨说它不会包含在备份中。所以我想只需在服务器上创建一个 VM 并备份它。老板对此表示同意,但他更喜欢没有变通办法的解决方案。
我可能忘记了我尝试过的事情,因为最初的错误消息和错误行为是 FUBAR,我调整了设置,现在看起来如上所述。
顺便说一下,如果我用新名称保存 excel 文件,我可以随意用相同的名称再次保存它,除非我关闭该文件。关闭文件并重新打开后,“乐趣”就开始了。
答案1
好的,在我花了几个小时并尝试了大量新选项之后,我找到了一个非常有效的解决方案。
事情是这样的:
1) 禁止 Apple 产品在网络共享上创建 .DS_Store 文件
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
2) 转到共享根目录并找到隐藏文件夹.temporaryItems
,然后授予苹果用户对该文件夹的完全访问权限。例如,如果您的网络共享位于\\server01\Files
并且您的文档位于\\server01\Files\Excel-Docs\excel-file.xlsx
,则隐藏文件夹位于\\server01\Files\.temporaryItems
3) 在每个苹果产品上,打开 Finder 并导航到包含 Excel 文档的文件夹。然后转到顶部,View
再转到Hide View Options
。取消选中文档预览选项。
或者,您也可以在打开 Finder 后立即执行此操作,然后关闭所有文件夹的预览。就我而言,客户通常希望查看其文档的预览,因此我将所有 Excel 文档放入一个文件夹中,并在那里禁用预览。
4) 删除网络共享上的所有临时文件和仍然存在的 .DS_Store 文件。这包括$
文件名开头附近的文档。
5)重启!
为了便于理解,我应该添加一些文字。至少在我能够理解的范围内(可能包含不正确的信息,因为我远非 MAC 专家)
通常,对于普通的 Windows 环境来说,完全访问权限太多了。但是,如果 .temporaryitems 文件夹不向 Apple 用户授予该权限,则他们会出现奇怪的行为,因为他们无法在其中保存临时文件。
即使在正常的 Windows 环境中,预览选项也很麻烦。对于预览,系统已经打开了文件。因此,如果您通过双击打开文件,也会打开其预览。因此,当您尝试以相同的名称保存文档时,它会显示“不行,Jose!文件仍然打开!”。这就是为什么客户可以用新名称保存 Excel 文档,然后可以随意保存,除非他们重新打开文件。因为当他们以新名称保存它时,他们没有在 Finder 上选择它,因此没有预览。
删除那些 .DS_Store 文件和临时文件,你就可以摆脱可能仍然残留的任何“标记”(我不知道正确的术语),该文件可能会被任何 Apple 用户打开,甚至被其中一个用户锁定。