Mapeie a pasta ou a unidade para a raiz de um servidor

3

Então, eu tenho um aplicativo mal projetado (surpresa!) para suportar. Ele abre uma caixa de diálogo "procurar pasta", que é muito boa, exceto que o usuário precisa selecionar um compartilhamento em outro servidor. Pensei em mapear uma unidade para eles, mas eles precisam de acesso a qualquer um dos 60 compartilhamentos no servidor.

Eu preciso de uma maneira de mapear \ server \ para uma pasta para que eles possam ver todos os compartilhamentos disponíveis, mas o windows permitirá que você mapeie \ server \ share, o que acaba com o propósito.

Eu só preciso que meus usuários possam ver todos os compartilhamentos disponíveis em um servidor a partir da caixa de diálogo "Procurar por pasta".

Alguma idéia de como isso pode ser feito?

    
por michael.clyne 29.01.2015 / 15:16

4 respostas

2

Você precisa mapear para o compartilhamento IPC $ (Inter-Process Communication). Basta executar o seguinte em um prompt de comando ou script.

net use \<server> /user:<domain\username> *

Isso criará um token de segurança em cache, para esse usuário, para esse servidor, de modo que qualquer compartilhamento acessado usará esse token em cache por padrão e não solicitará ao usuário.

O token fica em cache até você sair, então isso funciona bem em um script de login. O asterisco (*) informa ao comando net para solicitar uma senha ao usuário ou pode substituir o asterisco pela senha do usuário para script. Além disso, NÃO inclua uma barra após o nome do servidor ( \server ...or \server\IPC$ ...not \server\ ) porque isso aponta para um compartilhamento, não para o IPC.

    
por 29.01.2015 / 22:55
0

Você pode compartilhar o volume raiz (embora isso provavelmente não seja aconselhável, a menos que seja um volume que contenha apenas pastas compartilhadas. Se for o volume do SO, definitivamente não é recomendável). No Windows, cada volume de disco fixo é compartilhado para fins administrativos e oculto (usando o sinal $ no nome do compartilhamento). Você pode compartilhar cada volume novamente, atribuindo um nome de compartilhamento de sua escolha.

Assim, você pode compartilhar o volume raiz e mapear uma letra de unidade para esse compartilhamento. Quando os usuários se conectarem à unidade mapeada, eles verão todas as pastas desse volume.

Por exemplo:

Servidor = fileserver

Nome do compartilhamento de volume = Root

Unidade mapeada = Q = \fileserver\root

Navegação Q = todas as pastas no volume raiz de fileserver

    
por 29.01.2015 / 15:43
0

Você pode criar um Link simbólico para o compartilhamento e, em seguida, permitir que eles acessem os links simbólicos. Crie um arquivo em lotes que você possa executar nas máquinas dos usuários que o configuram.

mkdir c:\servershares
cd c:\servershares

mklink /D share1 \server\share1
mklink /D share2 \server\share2
mklink /D share3 \server\share3
    
por 30.01.2015 / 01:13
0

Você também pode criar um compartilhamento DFS que contenha todos os compartilhamentos nesse servidor.

    
por 31.01.2015 / 00:52