Após migrar o servidor de arquivos, alguns usuários deixaram de conseguir copiar/colar para a unidade mapeada O:\Shared, embora tudo funcione via caminho UNC direto (\\Servidor\Shared
). Este guia explica por que isso ocorre e como corrigir rapidamente, do menor para o maior impacto.
Visão geral do problema
O cenário típico pós‑migração é o seguinte:
- Pela unidade mapeada (O:\Shared): os usuários conseguem criar novos arquivos, mas recebem erro ao copiar/colar (geralmente mensagens genéricas do Explorer ou códigos do SMB Redirector).
- Pelo caminho UNC direto (
\\Servidor\Shared\...
): todas as operações funcionam normalmente. - Outras unidades mapeadas migradas no mesmo processo não apresentam falhas.
Isso normalmente aponta para inconsistências locais (cache/mapeamento) ou para diferenças de permissões na raiz do compartilhamento (para onde a unidade aponta), e não para problemas de rede ou do servidor como um todo.
Como validar rapidamente
Antes de aplicar correções, confirme o sintoma fora do Explorer com testes simples. Eles também ajudam a isolar a causa.
- Teste UNC direto:
cmd /c copy %USERPROFILE%\Desktop\teste.txt \\Servidor\Shared\_tmp\
Se funcionar, o servidor e as permissões nas subpastas estão ok. - Teste via unidade mapeada:
cmd /c copy %USERPROFILE%\Desktop\teste.txt O:\_tmp\
Se falhar, a falha está relacionada ao mapeamento, ao cache de cliente ou às permissões na raiz do share. - Verifique criação x gravação:
cmd /c echo OK>O:\tmp\criadovia_mapeamento.txt cmd /c type %USERPROFILE%\Desktop\teste.txt >> O:\tmp\criadovia_mapeamento.txt
Conseguir criar mas não copiar/colocar indica que a raiz permite Create mas nega Write/Append ou que há interferência de cache/antivírus na operação de copiar.
Causas prováveis e como diferenciar
A tabela abaixo resume as causas mais comuns, sinais para identificá‑las e por que afetam apenas a unidade mapeada.
Categoria | Como identificar | Por que afeta a unidade mapeada |
---|---|---|
Mapeamento corrompido | Mapeamento persiste com credenciais antigas, token ou cache de caminho. net use mostra a unidade apontando para o share correto, mas operações de escrita falham. | A entrada persistente pode carregar metadados antigos; UNC direto cria uma nova sessão limpa, funcionando bem. |
Cache de Arquivos Off‑line (CSC) | “Sempre disponível off‑line” estava habilitado; copiar via O:\ falha, mas via UNC funciona. Pastas aparecem com ícone de sincronização. | O mecanismo de Off‑line intercepta o caminho da unidade mapeada; corrupção no CSC bloqueia a operação. |
Permissões NTFS na raiz | Usuários têm Modify nas subpastas, mas a raiz do share tem ACL diferente. icacls \\Servidor\Shared diverge de icacls \\Servidor\Shared\Subpasta . | O Explorer ao colar cria temporários na raiz antes de mover para a subpasta; se a raiz não permite Write, a colagem falha, embora a criação direta em subpastas funcione. |
Atributo “Somente leitura” ou quotas | Erro de espaço insuficiente ou volume/pasta marcados como Read‑only. Quotas de volume/FSRM atingidas. | O Explorer respeita atributos/quotas na raiz (ponto do mapeamento); caminhos UNC para subpastas podem contornar temporariamente alguns checks. |
Interferência de antivírus/DLP | Log do agente acusa bloqueio apenas para caminhos com letra de unidade; copiar um .txt pequeno funciona, mas executáveis/documentos sensíveis falham. | Alguns agentes aplicam políticas por padrão apenas em unidades mapeadas (letras), não em UNC direto. |
Passo a passo de solução (do menor para o maior impacto)
<h3>Remapear a unidade</h3>
<p>Corrige aproximadamente a maioria dos casos de mapeamento corrompido e renova a sessão SMB do cliente.</p>
<pre><code>net use O: /delete
net use O: \Servidor\Shared /persistent:yes
Alternativa em PowerShell (com nome do provedor):
Remove-PSDrive -Name O -ErrorAction SilentlyContinue
New-PSDrive -Name O -PSProvider FileSystem -Root \Servidor\Shared -Persist
Dica: se usa GPO/GPP para mapear, force uma atualização (gpupdate /force
) e sign‑out/sign‑in do usuário.
<h3>Limpar ou desativar Arquivos Off‑line (CSC)</h3>
<p>Se “Sempre disponível off‑line” esteve ativo para o share, limpe o cache e desabilite temporariamente:</p>
<ol>
<li>Abrir <strong>Painel de Controle » Sync Center » Manage Offline Files</strong>.</li>
<li>Clicar em <strong>Disable</strong> e reiniciar.</li>
<li>Reabrir <em>Manage Offline Files</em> » guia <strong>Disk Usage</strong> » <strong>Delete temporary files</strong>.</li>
</ol>
<p><strong>Opção avançada (usar com cautela)</strong>: se o CSC estiver corrompido e a exclusão acima não funcionar, reinitialize o cache após backup e janela de manutenção:</p>
<pre><code>reg add HKLM\System\CurrentControlSet\Services\CSC\Parameters /v FormatDatabase /t REG_DWORD /d 1 /f
shutdown /r /t 0
Outra forma manual (somente com Off‑line desativado e após reiniciar): excluir C:\Windows\CSC
exigindo permissões elevadas. Faça backup e valide com TI antes de executar.
<h3>Verificar e propagar permissões NTFS na raiz</h3>
<p>Garanta que a <strong>raiz do share</strong> (<code>\\Servidor\Shared</code>) tenha ACL coerente com as subpastas. Uma base comum para dados de equipes é:</p>
<ul>
<li><strong>SYSTEM</strong> – Full Control (This folder, subfolders and files)</li>
<li><strong>Administrators</strong> – Full Control (This folder, subfolders and files)</li>
<li><strong>Creator Owner</strong> – Full Control (Subfolders and files only)</li>
<li><strong>Grupos de usuários</strong> – Modify (This folder, subfolders and files)</li>
</ul>
<p>No Explorador: <em>Propriedades » Segurança » Avançado</em> e marque <strong>Replace all child object permission entries with inheritable permission entries from this object</strong> para propagar.</p>
<p>Em linha de comando:</p>
<pre><code>icacls "E:\Dados\Shared" /inheritance:e
icacls “E:\Dados\Shared” /grant “DOMAIN\Usuarios:(OI)(CI)M” /T icacls “E:\Dados\Shared” /grant “CREATOR OWNER:(OI)(CI)F” /T
Teste novamente a colagem pela unidade mapeada após a propagação.
<h3>Checar atributos e quotas</h3>
<p>Se o volume/pasta estiver com atributo de somente leitura ou quotas estouradas, a cópia falha.</p>
<ul>
<li><strong>Atributos</strong> da raiz (no servidor):
<pre><code>attrib -r "E:\Dados\Shared"</code></pre>
<p><em>Observação:</em> alguns guias usam <code>+s</code> para marcar a raiz como “pasta de sistema” em cenários de customização. Se seu objetivo for apenas remover <em>Read‑only</em>, prefira <code>attrib -r</code> sem aplicar <code>+s</code>.</p>
</li>
<li><strong>Quotas de volume</strong>:
<pre><code>fsutil quota query E:</code></pre>
</li>
<li><strong>FSRM (quotas por pasta)</strong>:
<pre><code>Get-FsrmQuota -Path "E:\Dados\Shared"</code></pre>
</li>
</ul>
<h3>Analisar logs e antivírus/DLP</h3>
<p>No cliente, confira o <strong>Visualizador de Eventos</strong> em <em>Applications and Services Logs » Microsoft » Windows » SMBClient</em> (Connectivity/Operational) e <em>SMBClient/RDMA</em>. No servidor, veja <em>SMBServer</em>. Se houver agente de segurança (antivírus/DLP), faça um teste controlado desativando apenas a verificação de <em>network drives</em> e repita a cópia.</p>
<p><em>Boas práticas:</em> coordene com a equipe de Segurança; registre hora, arquivo e caminho para correlacionar nos logs do agente.</p>
<h3>Recriar o compartilhamento</h3>
<p>Quando há suspeita de metadados do share danificados, recriar pode normalizar o acesso.</p>
<ol>
<li><strong>Descompartilhar</strong> a pasta (<em>Computer Management » Shared Folders</em> ou CLI):
<pre><code>net share Shared /delete</code></pre>
</li>
<li><strong>Recompartilhar</strong> com o mesmo nome e permissões:
<pre><code>net share Shared=E:\Dados\Shared /GRANT:Everyone,READ /GRANT:"DOMAIN\Usuarios",CHANGE</code></pre>
</li>
<li><strong>Remapear</strong> a unidade nos clientes (via GPO/GPP ou comandos do primeiro passo).</li>
</ol>
Diagnóstico aprofundado
Comparar ACL da raiz e das subpastas
icacls \\Servidor\Shared
icacls \\Servidor\Shared\EquipeA
Diferenças relevantes: entradas Deny, ausência de Modify na raiz, herança desativada, ou CREATOR OWNER sem escopo (OI)(CI).
<h3>Testes com arquivos temporários</h3>
<pre><code>copy NUL O:\__probe__.tmp
echo 123>> O:*probe*.tmp del O:*probe*.tmp
Se copy NUL
(criar) funciona, mas echo 123>>
(gravar) falha, há indício de restrição de Write/Append na raiz.
<h3>Verificar sessão SMB e credenciais</h3>
<pre><code>net use
klist sessions
Entradas duplicadas ou com outro usuário podem causar conflito (especialmente após alteração de SPN/Nome do servidor). Desmapear/remapear limpa a sessão.
<h3>Eventos úteis</h3>
<ul>
<li><strong>SMBClient/Connectivity</strong>: tempo limite, acesso negado, reconexões frequentes.</li>
<li><strong>SMBServer/Security</strong>: falhas de autorização no servidor.</li>
<li><strong>Application</strong>: alerts do antivírus/DLP.</li>
</ul>
Boas práticas de prevenção
- Automatize mapeamentos via GPO/GPP em vez de scripts manuais, garantindo consistência e reautenticação após mudanças de servidor.
- Documente permissões e quotas antes de migrações; use
icacls X:\ /save aclfile.txt /t
para ter um backup das ACLs. - Valide pós‑migração com um script que cria, copia, renomeia e exclui arquivos em cada share; registre os resultados.
- Padronize a raiz do share com ACL mínima e clara; evite Deny na raiz a menos que seja estritamente necessário.
- Considere DFS Namespaces para desacoplar o caminho lógico do servidor físico, reduzindo impacto em mapeamentos após migrações.
- Monitore agentes de segurança e alinhe exclusões específicas (por exemplo, permitir extensões seguras em drives mapeados ou desabilitar inspeção duplicada).
Perguntas frequentes
<details>
<summary>Por que consigo criar um arquivo, mas não colar pela unidade mapeada?</summary>
<p>O Explorer costuma criar temporários na <strong>raiz</strong> e só depois mover/renomear para o destino. Se a raiz permite <em>Create</em> porém nega <em>Write/Append</em>, a colagem falha. ACLs divergentes e quotas também geram esse comportamento.</p>
</details>
<details>
<summary>Por que via UNC direto funciona?</summary>
<p>Conectar por UNC cria uma sessão “limpa” com o servidor. A unidade mapeada, por ser persistente, pode reter tokens antigos, cache do Offline Files ou estados do antivírus/DLP, o que não afeta a sessão UNC recém‑estabelecida.</p>
</details>
<details>
<summary>Remapear a unidade resolve definitivamente?</summary>
<p>Na maioria dos casos, sim. Contudo, se a causa for ACL na raiz, quotas ou DLP, o problema voltará até que a configuração no servidor/agente seja ajustada.</p>
</details>
<details>
<summary>É seguro limpar o cache Off‑line (CSC)?</summary>
<p>Sim, desde que você confirme que não há alterações locais pendentes. Use primeiro o método suportado via Sync Center. O <em>FormatDatabase</em> e a exclusão manual de <code>C:\Windows\CSC</code> são medidas avançadas que exigem validação e janela de manutenção.</p>
</details>
<details>
<summary>Devo marcar a pasta raiz como “sistema” com <code>attrib +s</code>?</summary>
<p>Não é necessário para resolver cópia/colagem. O mais comum é apenas remover o atributo de leitura (<code>-r</code>). Use <code>+s</code> somente se sua organização padroniza a raiz como pasta de sistema por outros motivos (ex.: customização de ícones).</p>
</details>
<details>
<summary>Como registrar evidências para auditoria?</summary>
<p>Capture: hora exata, caminho, usuário, comandos executados e IDs de evento relevantes. Salve a saída de <code>icacls</code>, <code>net use</code> e do Event Viewer. Assim você prova que a correção foi aplicada e o problema remediado.</p>
</details>
Checklist rápida de correção
- Desmapear e remapear O:\Shared.
- Desativar/limpar Arquivos Off‑line e reiniciar o dispositivo.
- Comparar e alinhar ACL da raiz com as subpastas; propagar permissões.
- Checar atributos da pasta e quotas de volume/FSRM.
- Revisar antivírus/DLP e logs de SMB no cliente/servidor.
- Como último recurso, recriar o share e remapear.
Apêndice com scripts úteis
<h3>Script de validação pós‑migração (PowerShell)</h3>
<pre><code>$Share = "\\Servidor\Shared"
$Mapped = “O:” $Tmp = “tmpvalidation” New-Item -ItemType Directory -Path “$Share$Tmp” -ErrorAction SilentlyContinue | Out-Null Write-Host “Teste UNC – criar” -ForegroundColor Cyan “ok” | Out-File -FilePath “$Share$Tmp\UNC_create.txt” -Encoding UTF8 -ErrorAction Continue Write-Host “Teste UNC – copiar” -ForegroundColor Cyan Copy-Item -Path “$env:USERPROFILE\Desktop*” -Destination “$Share$Tmp” -ErrorAction Continue Write-Host “Teste Mapeado – criar” -ForegroundColor Green “ok” | Out-File -FilePath “$Mapped$Tmp\MAP_create.txt” -Encoding UTF8 -ErrorAction Continue Write-Host “Teste Mapeado – copiar” -ForegroundColor Green Copy-Item -Path “$env:USERPROFILE\Desktop*” -Destination “$Mapped$Tmp” -ErrorAction Continue Write-Host “Permissões na raiz do share” -ForegroundColor Yellow icacls $Share Write-Host “Sessões atuais” -ForegroundColor Yellow net use
<h3>Backup e restauração de ACLs</h3>
<pre><code>icacls "E:\Dados\Shared" /save "E:\backup_acl_shared.txt" /t
icacls “E:\Dados\Shared” /restore “E:\backupaclshared.txt”
<h3>Recriação do compartilhamento por CLI</h3>
<pre><code>net share Shared /delete
net share Shared=E:\Dados\Shared /GRANT:”DOMAIN\Usuarios”,CHANGE /GRANT:”Administrators”,FULL
Resumo executivo
Quando copiar/colar falha apenas na unidade mapeada O:\Shared após a migração, a causa mais comum é inconsistência local (mapeamento persistente ou cache Off‑line) ou ACL divergente na raiz do share. Aplique a estratégia em etapas:
- Primeiro: remapeie a unidade e limpe o cache Off‑line – é onde estão os “ganhos rápidos”.
- Em seguida: alinhe as permissões NTFS na raiz e verifique atributos/quotas.
- Por fim: investigue antivírus/DLP e, se necessário, recrie o compartilhamento.
Seguindo este roteiro, a normalização do acesso costuma ser imediata e sustentável, evitando retrabalho e chamados recorrentes.