Arquivo em lote para alterar todos os compartilhamentos de rede no computador

1

Eu preciso alterar todos os compartilhamentos de // foo para // bar em um arquivo de lote. Digamos que eu tenha R: // foo / foo e Z: // foo / bar

Eu preciso ter um script em lote que os torne R: // bar / foo e Z: // bar / bar

Alguém tem alguma ideia de como fazer isso? Eu estou pensando em loop de alguma forma com o uso da rede, mas isso é tanto quanto eu vim. Estarei pesquisando a mim mesmo também, mas pensei em postar aqui e ver se alguém sabia bem rápido, já que estou com um pouco de dificuldade.

Obrigado pela sua ajuda.

Isto é para o Windows XP Zachary

    
por arkansasonline 10.09.2010 / 18:52

4 respostas

2

Eu usaria o seguinte em um arquivo de lote:

@echo off
REM Delete existing Mapped Drives
net use * /d Y

REM Map New Network Drive
net use R: \bar\foo /persistent:yes
net use Z: \bar\bar

echo Drives Mapped.

Isso pode ser adicionado ao caminho do script de logon do usuário, desde que o arquivo seja colocado na pasta Netlogon dos servidores.

EDITAR

Acabei de reler sua pergunta. Obviamente, meu método não é prático se você quiser alterar muitos compartilhamentos. Você poderia informar se muitos compartilhamentos devem ser alterados?

Espero que isso ajude, qualquer dúvida me avise.

    
por 08.12.2010 / 10:46
1
@echo off
REM delete the actual Network Drive
net use R: /DELETE
net use Z: /DELETE

REM Create the new Network Drive 
net use R: \bar\foo
net use Z: \bar\bar

Se você quiser que a unidade de rede persista durante a reinicialização, você precisa adicionar / persistent: yes ao comando net use ao mapear o driver de rede, portanto, para R:

net use R: \bar\foo /persistent:yes
    
por 08.12.2010 / 09:52
0

Sua melhor aposta é provavelmente um arquivo em lote usando o Comando FOR

Se você conseguir obter uma lista dos diretórios que deseja alterar, poderá alimentar esse comando com um arquivo de entrada (como shares.txt) e iterar por cada linha. Você pode atribuir uma lógica bastante complexa, conforme descrito no link.

Outra opção seria um VBScript, mas acho que isso envolveria um maior investimento de tempo, especialmente para algo como isso, que não requer muita análise ou lógica.

    
por 10.09.2010 / 19:08
0

O uso da rede alterará o mapeamento da unidade, mas não o compartilhamento subjacente, já que o comando é executado no cliente e não no servidor.

Não há renomeação de compartilhamento, um novo compartilhamento pode ser adicionado na mesma pasta e o compartilhamento antigo pode ser excluído mais tarde quando as coisas forem confirmadas funcionando. O problema é que o novo compartilhamento exige novas permissões de compartilhamento e, se o caminho mudar, novas permissões de NTFS também podem precisar ser definidas.

RmtShare, link , pode funcionar dependendo do sistema operacional.
VBScript também pode funcionar bem como pode fazer Permissões de compartilhamento: MS Scripting Repository - Shared Folders. Link abaixo, não é possível fazer com que o hyperlink funcione.

link 1 .Tipo = Subcategoria & f < a href="http://ss64.com/nt/rmtshare.html"> 1 .Value = pastas compartilhadas & f 1 .Text = Shared% 20Pastas

    
por 08.12.2010 / 05:21