Não é possível alterar o nome da impressora (WERR_ACCESS_DENIED)

1

Estou tendo problemas importantes ao tentar compartilhar uma impressora em rede. Conectei-me à minha máquina Ubuntu (todas as outras versões da rede são todas do Windows). Eu tenho me envolvido com o SAMBA e fiz algum progresso: ao tentar "Adicionar Impressoras" das máquinas Windows, elas podem realmente vê-lo ao fazer uma pesquisa de rede. No entanto, o Windows solicita invariavelmente um driver ("O servidor da impressora não tem o driver de impressora correto instalado ...") e, quando eu seleciono um, ele exibe a mensagem de erro "O Windows não pode se conectar à impressora. Certifique-se de ter digitado o nome corretamente ... "

Eu fiz algumas pesquisas e descobri que muitas vezes isso ocorre porque a impressora não está sendo "nomeada corretamente": usando enumprinters , ela tem \ LOCALHOST em vez do nome apropriado. A correção sugerida é renomear a impressora usando setprintername (rpcclient). No entanto, não posso fazer isso: sempre recebo um erro WERR_ACCESS_DENIED.

Pesquisas adicionais sobre a correção dessa questão sugerem "conceder" a si mesmo os privilégios apropriados ( SePrintOperatorPrivileges , usando net ... usuário ... concessão de direitos rpc ) ... mas eu não posso fazer isso: eu recebo uma mensagem "Falha ao privilégios para [usuário] (NT_STATUS_ACCESS_DENIED)". O que diabos estou perdendo? Qualquer ajuda seria apreciada, já que esta é uma característica crítica para mim. Obrigado antecipadamente!

    
por Superion 16.04.2014 / 02:09

1 resposta

0

OK, isso levou a pesquisa de vários sites / páginas. Estou descobrindo que a impressão em rede usando o SAMBA em um ambiente misto do Ubuntu-Windows pode ser um assunto complexo, e isso pode não resolver os problemas de todos ... mas se os seus sintomas são os mesmos, você pode tentar uma solução. (Para todas as codificações abaixo, substitua o nome do seu computador por "computername" e seu nome de login do Ubuntu por "username", etc.)

Ao tentar adicionar uma impressora em rede / compartilhada conectada a uma máquina Ubuntu a um cliente Windows (para poder imprimir a partir da máquina Windows), a mensagem de erro do Windows fornecida acima ("O Windows não pode conectar-se à impressora. você digitou o nome corretamente ... ") pode indicar que o nome da impressora sendo informado pela máquina Ubuntu está incorreto. O Windows parece ser muito esquisito sobre o nome de redes e recursos de rede. A partir do terminal, usando o comando rpcclient localhost , então enumprinters , você pode ver a saída assim:

% bl0ck_qu0te%

Observe que o campo de nome contém apenas "\ LOCALHOST \" ... isso está incompleto; o nome da sua impressora também deve estar entre parênteses (neste caso, "\ LOCALHOST \ HP-SuperJet-10").

A solução sugerida é usar o comando setprintername no rpcclient, mas isso pode gerar o erro WERR_ACCESS_DENIED em vez de WERR_INVALID_PRINERNAME. Isso parece indicar que você, como usuário, não tem permissões para fazer alterações na impressora do sistema. Mas depois de passar um monte de rigamarole tentando me dar os direitos (por exemplo, usando SePrintOperatorPrivileges ) e recebendo erros adicionais (NT_STATUS_ACCESS_DENIED), verifiquei ( net rpc rights list -S Computername -U Nome de usuário ) e descobri que eu já tinha sido configurado com esses direitos! Isso é o que me avisa que algo estava errado.

A solução que encontrei é adicionar uma linha ao arquivo de configuração do Samba na seção [global] . Na janela do terminal, digite gksu gedit /etc/samba/smb.conf

A linha a adicionar é:

% bl0ck_qu0te%

Salve suas alterações, feche o programa gedit e, na janela do terminal, reinicie os serviços necessários:

% bl0ck_qu0te%

Isso deve ativar / impor suas permissões para alterar o nome da impressora. Digite rpcclient localhost para voltar ao rpcclient. Agora, aqui está outra captura que encontrei: Para o comando setprintername , parece que você precisa digitar o nome da impressora DUAS VEZES ... simplesmente digitando setprintername = HP-SuperJet- 10 não funcionou; depois de testar e falhar novamente, uma verificação de enumprinters no rpcclient mostrou que o nome da impressora STILL mostrava apenas "\ LOCALHOST \". (Eu estou supondo aqui, mas pode ser porque essa é a sintaxe apropriada para o comando setprintername ). Digite:

% bl0ck_qu0te%

Para mim, "yourprintername" era "HP-SuperJet-10". Um comando enumprinters desta vez deve mostrar algo assim:

% bl0ck_qu0te%

Se você puder ver o nome correto da impressora anexado ao final de LOCALHOST no campo de nome, você o fez. Descobri que, ao aplicar essa correção, minhas máquinas Windows podem até ver a impressora na rede sempre que eu tento "adicionar uma impressora" a elas.

Notas adicionais: esta solução só funcionou comigo até o momento em máquinas com o Windows Vista. O Windows 7 parece estar me dando mensagens de erro diferentes, o que quase certamente exigirá uma solução diferente. Me deseje sorte!

    
por Superion 24.04.2014 / 07:29