Showing posts with label acessar rede serviço windows. Show all posts
Showing posts with label acessar rede serviço windows. Show all posts

Jun 28, 2012

Windows Service Acessando Unidade de Rede

Estava com o seguinte problema:

Um serviço windows que desenvolvemos precisava acessar uma pasta localizada em uma unidade de rede, o que não estava acontecendo, mesmo passando a unidade na configuração.

Depois de alguns testes e pesquisa cheguei à seguinte conclusão.
O problema estava na forma que o drive é acessado.

É o seguinte:
O drive mapeado é específico por usuário e o serviço, por padrão , utiliza outro usuário para rodar/executar (local system), não o que está logado.

Isso quer dizer que o usuário do serviço nã conhece o driver, por exemplo "Z:", então, pesquisando, encontrei as seguintes soluções:

1ª) Mais fácil, mas que não consegui fazer funcionar:
Alterar o logon do serviço para um usuário que tenha o "Z:" mapeado corretamente, simples, não? Pena que não funcionou comigo. Mas, pode-se tentar, facinho de fazer e teve gente que falou que funciona.

2ª) que funcionou lol, Passos:
1: Parar o serviço
2: Baixar este programa: http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx (utilzado para executar o cmd.exe com o usuário local system)
3: Executar o cmd.exe como administrador
4: Executar o comando "psexec -i -s cmd.exe" (abre o cmd.exe como o usuário local system)
5: Abrirá uma nova tela do cmd.exe
5: Para ter certeza que o usuário é o local system, execute o comando "whoami". O retorno deve ser "nt authority\system"
6: Agora que você sabe que o usuário é o mesmo do serviço, execute o comando de mapear unidade a partir do prompt "net use" (a sintaxe é : net use\\\/persistent:yes . Exemplo: "net use Z: \\srvdesenv-05\Teste /persistent:yes
7:Vai perdir o usuário, você coloca
8: Vai pedir senha, você coloca
9:Inicie o Serviço

Basicamente é isso ae... mas podem existir outras variáveis, principalmente de permissão.

Referências:
http://stackoverflow.com/questions/182750/how-to-map-a-network-drive-to-be-used-by-a-service

http://serverfault.com/questions/91797/windows7-the-specified-network-password-is-not-correct-when-the-password-is

Abraços
Rafael Campana