acessa a unidade de rede mapeada de um serviço do Windows (2003)

1

Eu tenho um aplicativo que usa arquivos em uma unidade de rede (K :) que normalmente é conectada durante o logon do usuário via net use K: \ myserver \ myshare .... Os mesmos arquivos devem ser acessados por um serviço do windows instalado um servidor. Mas o serviço não dispara um script de logon, obviamente.
Parece-me que todo o material da unidade de rede mapeada está disponível para uma sessão do Windows (servidor ou cliente de terminal) e não para serviços que, por definição, são executados sem a necessidade de um usuário estar logado no sistema. Se sim, quais são minhas opções?

    
por AgostinoX 20.05.2012 / 23:40

2 respostas

2

Se o serviço estiver sendo executado como Sistema Local ou Serviço de Rede, ou como um usuário de domínio específico, ele poderá acessar os arquivos por meio do caminho UNC ou mapear uma unidade de rede usando a função WNetAddConnection . No caso de Sistema Local ou Serviço de Rede, a conexão é feita no contexto do objeto de computador do Active Directory.

Se o serviço estiver sendo executado como um usuário local, os caminhos UNC não funcionarão, mas ainda poderá mapear uma unidade de rede usando WNetAddConnection , desde que possa fornecer um nome de usuário e senha válidos.

(Se a API do Win32 não estiver disponível por algum motivo, a execução do comando net use em um subprocesso também funcionará.)

    
por 21.05.2012 / 01:37
1

Acesse os arquivos necessários por meio do caminho UNC.

    
por 20.05.2012 / 23:43