Primeiro, quero descrever o ambiente:
Servidor:
Windows Server 2016 (mantém a pasta de compartilhamento SMB da rede)
Clientes:
Mac OS X (El Capitan/Sierra), todos os usuários usam isso e têm ACESSO TOTAL à raiz do compartilhamento de rede e todas as subpastas, etc. Eles não estão no domínio, mas usam todas as mesmas credenciais para se conectar aos compartilhamentos de rede. Use um software que não seja compatível com o MAC OS mais recente.
Agora vamos ao problema:
Quando os usuários acessam um arquivo Excel no compartilhamento de rede, eles não podem salvá-lo novamente com o mesmo nome. Eles podem excluir os arquivos, renomeá-los, movê-los, etc. Portanto, agora eles precisam abrir um arquivo do Excel, salvá-lo com um nome diferente, excluir o anterior e renomear o novo de volta para o antigo. Não é super ruim, mas bastante irritante. Outros produtos de software do Office funcionam conforme o esperado (Word, Powerpoint e assim por diante), apenas o Excel causando esse problema.
O que eu tentei/verifiquei até agora:
- Certifique-se de que .temporaryitems na raiz do compartilhamento de rede forneça acesso total aos usuários.
- Certifiquei-me de que ninguém mais estava acessando o mesmo arquivo que eu estava usando
- Função de salvamento automático desabilitada no Excel
- Criação de .DS_Store desativada em compartilhamentos de rede
Qual é a mensagem de erro:
Não foi possível salvá-lo em bla.xlsx, salvei o arquivo como [nome de arquivo hexadecimal aleatório com cerca de 8 dígitos]. (Observação: esse arquivo pode ser encontrado na pasta .temporaryitems)
Soluções que meu chefe não aceita:
- Altere o compartilhamento de rede para cifs ou afp em vez de smb (as razões por trás disso não importam)
Solução alternativa que pensei, mas meu chefe não está muito feliz:
- Criou um compartilhamento de rede (smb) em seu NAS. Funciona perfeito lá. Boss reclama que não será incluído nos backups. Então pensei apenas em criar uma VM no servidor e fazer o backup. Boss concorda um pouco com isso, mas prefere uma solução sem uma solução alternativa.
Posso ter esquecido coisas que tentei, porque as mensagens de erro iniciais e o comportamento de erro eram FUBAR e ajustei as configurações para agora parecerem como descrito acima.
Para sua informação, se eu salvar um arquivo do Excel com um novo nome, posso salvá-lo com o mesmo nome quantas vezes quiser, a menos que feche o arquivo. Depois de fechar o arquivo e reabri-lo, a "diversão" começa.
Ok, depois de passar mais algumas horas e experimentar um monte de novas opções, encontrei uma solução que funcionou perfeitamente.
Então é assim que funciona:
1) Desative os produtos Apple para criar arquivos .DS_Store em compartilhamentos de rede
2) Vá para o share-root e encontre a pasta oculta
.temporaryItems
e dê aos usuários da apple ACESSO COMPLETO a ela. Por exemplo, se seu compartilhamento de rede estiver\\server01\Files
e seu documento estiver em\\server01\Files\Excel-Docs\excel-file.xlsx
, a pasta oculta estará em\\server01\Files\.temporaryItems
3) Em cada produto apple, você abriu o localizador e navegou até a pasta que contém os documentos do Excel. Em seguida, no topo, vá para
View
e depois paraHide View Options
. Lá, desmarque as opções de visualização do documento.Como alternativa, você pode fazer isso logo após abrir o localizador e desligá-lo para todas as pastas. No meu caso, os clientes geralmente desejam ver visualizações de seus documentos, então coloquei todos os documentos do Excel em uma pasta e desabilitei a visualização lá.
4) Exclua todos os arquivos temporários no compartilhamento de rede e arquivos .DS_Store que ainda estão presentes. Isso inclui os documentos que começam
$
no início do nome do arquivo.5) Reinicie!
Para uma melhor compreensão, devo acrescentar algumas palavras. Pelo menos na medida em que consegui entender (pode incluir informações incorretas, já que não sou especialista em MAC)
Normalmente, o FULL ACCESS é demais para um ambiente Windows normal. Mas se essa pasta .temporaryitems não der essa permissão aos usuários da apple, eles terão comportamentos estranhos, porque não poderão salvar seus arquivos temporários lá.
As opções de visualização são um problema, mesmo em ambientes normais de janelas. Para a visualização o sistema já abre o arquivo. Portanto, se você abrir um arquivo clicando duas vezes, também abrirá sua visualização. Então, quando você tenta salvar o documento com o mesmo nome, ele diz "De jeito nenhum, José! O arquivo ainda está aberto!". É por isso que o cliente pode salvar um documento do Excel com um novo nome e quantas vezes quiser, a menos que reabra o arquivo. Porque quando eles salvam com um novo nome, eles não o selecionam no Finder, portanto, não há visualização.
Excluindo esses arquivos .DS_Store e arquivos temporários, você se livra de qualquer "marcação" (não sei o termo adequado) que ainda possa restar, que o arquivo possa ser aberto por qualquer usuário da Apple ou até mesmo bloqueado por um deles.