Na filial, o servidor da filial compartilha na rede a pasta de instalação do sistema, e as estações acessam essa pasta por meio de uma unidade mapeada. Quando o compartilhamento falha, os programas deixam de abrir ou não encontram os seus arquivos. Entender como o compartilhamento funciona permite separar uma falha de rede de uma falha de nome, de pasta ou de permissão.
O compartilhamento de arquivos do Windows
O compartilhamento de arquivos e impressoras do Windows usa o protocolo SMB, que funciona sobre o TCP, na porta 445. Um compartilhamento é identificado por um caminho de rede, formado por duas barras invertidas, pelo nome do computador, por outra barra invertida e pelo nome do compartilhamento:
\\servidor-loja\SISTEMA
Nesse exemplo, servidor-loja é o nome do servidor da filial na rede, e SISTEMA é o nome dado ao compartilhamento da pasta de instalação do sistema.
Uma unidade mapeada associa uma letra de unidade, como Z, a esse caminho de rede. Com o mapeamento, os programas passam a tratar a pasta compartilhada como se fosse um disco do próprio computador.
O que precisa estar certo
Para que uma estação acesse o compartilhamento, quatro condições precisam ser atendidas:
- o nome do servidor precisa ser traduzido para o endereço IP;
- a porta 445 do servidor precisa aceitar a conexão;
- o compartilhamento precisa existir com o nome indicado no caminho;
- o usuário precisa ter permissão no compartilhamento e na pasta.
A permissão é controlada em dois níveis: as permissões do compartilhamento e as permissões da própria pasta no disco do servidor. O acesso pela rede fica limitado ao mais restritivo dos dois níveis.
Comandos úteis
net use: lista as unidades mapeadas e o estado de cada uma;net use Z: \\servidor-loja\SISTEMA /persistent:yes: mapeia a unidade Z e mantém o mapeamento depois que o computador é reiniciado;net use Z: /delete: remove o mapeamento da unidade Z;net view \\servidor-loja: lista os compartilhamentos do servidor;Test-NetConnection servidor-loja -Port 445: testa, no PowerShell, se a porta do compartilhamento aceita conexões.
Os mapeamentos pertencem ao usuário do Windows que os criou. Outro usuário que entre no mesmo computador não enxerga essas unidades, e um programa executado como administrador também pode não enxergá-las.
A impressora de etiquetas e a porta LPT1
No cenário dos exemplos, a impressora de etiquetas utiliza o compartilhamento do Windows. O sistema da filial é configurado para enviar as etiquetas a uma porta de impressora chamada LPT1, nome da antiga porta paralela dos computadores, em vez de usar a impressão comum do Windows. Hoje, a impressora de etiquetas costuma ser ligada por cabo USB, e os computadores quase nunca têm porta paralela. Por isso, o nome LPT1, sozinho, não aponta para nenhuma impressora.
Para fazer o nome LPT1 apontar para a impressora, usa-se o comando net use, que associa a porta a um caminho de rede no formato de duas barras invertidas, nome do computador e nome do compartilhamento. Esse comando não aceita uma porta USB local. Por isso, a impressora precisa estar compartilhada na rede, mesmo quando é usada apenas pelo computador ao qual está ligada, e esse próprio computador mapeia a porta LPT1 para o seu compartilhamento. No cenário, a impressora está ligada ao servidor da filial. Considerando que o nome desse computador na rede seja servidor-loja e que a impressora seja compartilhada com o nome ETIQUETAS, o comando executado no servidor da filial é o seguinte:
net use LPT1: \\servidor-loja\ETIQUETAS /persistent:yes
Nesse mapeamento, o servidor da filial acessa a fila de impressão compartilhada no próprio computador. O compartilhamento também pode receber trabalhos de outras estações autorizadas. Se o aplicativo usa a porta LPT1, cada estação que enviará etiquetas por esse meio precisa ter o próprio mapeamento para \\servidor-loja\ETIQUETAS, além das permissões e das configurações de impressão necessárias. O mesmo comando pode ser executado nessas estações, enquanto a impressora continua fisicamente conectada ao servidor da filial.
Para imprimir a partir de outra estação, o computador que compartilha a impressora precisa permanecer ligado, acessível pela rede e com os serviços necessários em funcionamento.
Como a impressão depende dos recursos de compartilhamento do Windows, a etiqueta deixa de sair quando:
- o compartilhamento de arquivos e impressoras é desativado;
- o serviço do Windows que atende os compartilhamentos ou o serviço de impressão, chamado spooler, é interrompido;
- o computador que compartilha a impressora é renomeado, porque o mapeamento continua apontando para o nome antigo;
- outro usuário do Windows entra no computador, porque o mapeamento pertence ao usuário que o criou;
- o sistema é executado como administrador e não enxerga o mapeamento feito na sessão comum.
Erros que separam as causas
- Erro 53, o caminho da rede não foi encontrado: o servidor não foi alcançado. As causas mais comuns são um nome que não é traduzido, um computador desligado ou a porta 445 bloqueada.
- Erro 67, o nome da rede não pode ser encontrado: o servidor respondeu, mas não existe compartilhamento com aquele nome.
- Erro 5, acesso negado: o servidor e o compartilhamento existem, mas o usuário não tem permissão.
- Erro 1219: a estação já está conectada ao mesmo servidor com outro usuário, e o Windows não aceita dois usuários diferentes para o mesmo servidor ao mesmo tempo.
Duas causas pouco lembradas
- Perfil de rede público: o Windows aplica regras de firewall diferentes conforme a rede esteja marcada como privada ou pública. Quando a rede do servidor está marcada como pública, o compartilhamento costuma ficar bloqueado para os outros computadores.
- Servidor muito antigo: as versões recentes do Windows vêm com a versão 1 do SMB desativada. Uma estação nova pode não acessar os compartilhamentos de um sistema operacional muito antigo, que só oferece essa versão.
No suporte
Unidade com um X vermelho, programa que não abre na estação e mensagens de caminho não encontrado apontam para o compartilhamento. Depois de uma troca de servidor, o compartilhamento é recriado no computador novo, e o mapeamento precisa ser refeito em todas as estações, porque o caminho antigo aponta para o nome do computador anterior. O mesmo vale para a impressora de etiquetas quando o computador ao qual ela está ligada é trocado ou renomeado.
Para guardar
- O compartilhamento de arquivos e impressoras do Windows usa o protocolo SMB, na porta TCP 445.
- A unidade mapeada associa uma letra a um caminho de rede, e o mapeamento pertence ao usuário que o criou.
- O erro 53 indica servidor não alcançado, o erro 67 indica compartilhamento inexistente, e o erro 5 indica falta de permissão.
- O mapeamento de LPT1 aponta para uma impressora compartilhada; conforme a configuração, pode ser usado no próprio computador ou em outra estação autorizada.
- A troca ou a renomeação de um computador exige refazer os mapeamentos que apontam para ele.
Ao abrir a unidade Z, uma estação mostra a mensagem de que o caminho da rede não foi encontrado, e outra estação mostra a mensagem de que o nome da rede não pode ser encontrado. O que cada mensagem indica?
A primeira mensagem, o erro 53, indica que o servidor não foi alcançado, por causa do nome, de um computador desligado ou da porta 445 bloqueada. A segunda mensagem, o erro 67, indica que o servidor respondeu, mas que não existe compartilhamento com aquele nome.
Depois que o servidor da filial foi renomeado, as etiquetas deixaram de ser impressas, embora a impressora continue ligada a ele. Qual é a causa provável?
O mapeamento da porta LPT1 continua apontando para o caminho de rede com o nome antigo do computador. É preciso refazer o mapeamento com o novo nome, por meio do comando net use.