Como faço para montar de forma persistente um compartilhamento de arquivos remoto em um servidor Windows sem cabeçalho

1

Eu tenho uma instância do Windows Server 2008 que normalmente não tem ninguém conectada. Eu quero que ela tenha uma letra de unidade Z: mapeada para um compartilhamento remoto \ sharecomputer \ sharename, para que um aplicativo da Web na instância do Windows Server acessar arquivos no compartilhamento remoto por meio de Z: O compartilhamento remoto requer um nome de usuário e uma senha a serem fornecidos para acessar arquivos nele.

    
por Nigel Goddard 08.05.2012 / 19:22

2 respostas

2

Tecnicamente, provavelmente seria possível escrever um programa que usa net use ou algo semelhante para se conectar ao compartilhamento. Em seguida, faça com que esse programa seja executado como um serviço, configure-o para inicialização automática e execute-o sob a mesma conta de usuário que o aplicativo da Web. Então, você teria que atribuir allow interaction with the desktop ao serviço. Mesmo assim, não tenho 100% de certeza de que funcionará.

A melhor coisa (e padrão) a fazer aqui é executar o aplicativo da web como um usuário que tem acesso a esse compartilhamento e gravá-lo em \server\share em vez de Z: . Então você não precisa mapear a unidade.

    
por 08.05.2012 / 19:31
1

Inicie o aplicativo na conta de serviço uma vez. Então pare com isso. Agora deve haver um perfil com um arquivo ntuser.dat .

Execute regedit . Navegue para HKEY_USERS (a barra de ferramentas inferior deve dizer Computer\HKEY_USERS ). Arquivo - > Carregar seção - > Encontre o arquivo ntuser.dat que você acabou de criar. Abrir. Dê-lhe um nome de chave como "conta de serviço" ou qualquer outra coisa, não importa. Se o computador reclamar sobre o arquivo em uso, talvez seja necessário reinicializar.

Navegue até KEY_USERS \ Conta de serviço \ Rede. Clique com o botão direito do mouse no nó da árvore, Novo - > Chave. Nomeie a chave da letra da unidade em maiúscula ("Z" na pergunta).

Crie os seguintes valores nessa chave:

Name                  Type           Value
ConnectionType        DWORD32        0x1
DeferFlags            DWORD32        0x4
ProviderFlags         DWORD32        0x1
ProviderName          STRING         "Microsoft Windows Network"
ProviderType          DWORD32        0x00020000
RemotePath            STRING         "\path\on\network"
UserName              DWORD32        0x0

Navegue de volta para o nível KEY_USERS \ Service Account (clique nele), File - > Descarregar o ramo. Sim.

Iniciar o serviço, ele agora tem a unidade de rede mapeada (supondo que a conta de serviço tenha acesso ao compartilhamento de rede e às permissões de NTFS). Se você não estiver em um domínio ou em um ambiente semelhante em que a conta de serviço possa receber permissão para o compartilhamento, será necessário armazenar credenciais para o compartilhamento. Se esse for o caso, seria muito mais fácil tornar a conta de serviço uma conta de usuário completa, fazer login como ela, configurar a unidade de rede e as credenciais armazenadas, do que fazer tudo através das configurações do Registro.

    
por 08.05.2012 / 20:21