Observe que o seguinte precisa ser executado com uma conta no grupo Administrador local e, de preferência, um que tenha acesso aos compartilhamentos que estão sendo mapeados.
Os comandos básicos
Para desconectar unidades:
net use /d * /y
Demolir:
net use
é o utilitário para alterar os mapeamentos de unidade da rede a partir da linha de comando.
/d
é para "excluir", para desconectar qualquer mapeamento de unidade especificado nos parâmetros de comando.
*
é um curinga, para executar o comando em todos unidades atualmente mapeadas.
/y
é para "sim", para ignorar a confirmação interativa do comando.
Para reconectar unidades:
net use [driveletter]: "\\[servername]\[sharename]\[subfolder-path]" /p:y
(Repita para cada mapeamento.)
Demolir:
net use
- (Veja acima)
[driveletter]:
- Substitua isto por qualquer letra de unidade que você queira usar. Remova os suportes, mantenha o cólon. Você pode remover isso completamente se não precisar associar o compartilhamento a uma letra de unidade.
"\\[servername]\
- Substitua isto pelo nome ou IP da máquina que hospeda o compartilhamento. Remova os suportes. Mantenha as barras invertidas. As aspas são opcionais se o caminho não incluir espaços.
[sharename]
- Substitua isto pelo nome do compartilhamento que você está acessando. Remova os suportes.
\[subfolder-path]
- (Opcional) Substitua isso pelo caminho restante para qualquer subpasta que você deseja que o mapeamento aborde. Deixe de fora se você quiser apenas que o mapeamento aponte para a raiz do compartilhamento. Remova os suportes. Use barras invertidas, quando apropriado.
"
- Deixe a cotação de fechamento se você manteve a cotação de abertura. Remova o contrário.
/p:y
- Isso é para "Persistente: SIM", o que significa que o mapeamento da unidade será mantido por meio de uma reinicialização.
Exemplo de arquivo em lote com comentários
REM The first line below keeps the batch commands from "echoing" on the command line. Only command output is displayed. Delete or comment out that line for debugging.
@echo off
REM The next command deletes all drive mappings.
net use /d * /y
REM The next two lines print a message stating what the previous line should have done (check command output to verify) and what the user should do next.
echo Drive mappings DELETED!
echo Press any key to restore drive mappings.
REM The next line pauses the batch job, pending user input. Leave the batch window open, and go on to do your work. Return to the batch window and press any key to continue.
PAUSE
REM The next command is an example of connecting to a share path that does not include subfolders or spaces, and will not be mapped to a drive letter.
net use \\myserver\logs
REM This next command is an example of mapping a drive letter to a path that includes a subfolder, but no spaces.
net use R: \\myserver\myapp\reports /p:y
REM This next command is an example of mapping a drive letter to a path that does include sub-folders and spaces. Note the requisite quotation marks.
net use P: "\\myserver\c$\Program Files\My Application\"
REM The next two lines print messages similar to the previous two "echo" commands, this time informing the user that the drives should be re-mapped.
echo Drive mappings RESTORED!
echo Press any key to exit.
REM This last line inserts a final pause in the batch job. Use this opportunity to check the command output and verify that the previous commands completed succesfully.
PAUSE
REM The batch window should automatically exit after this, or return to the command prompt if the file was run from within an existing console.
Observe que isso pode ser facilmente dividido em dois arquivos de lote separados, se necessário, com a divisão colocada imediatamente após o primeiro PAUSE
. Eu recomendo fortemente manter o PAUSE
comandos nas extremidades dos arquivos em lote, mesmo que sejam divididos, para que você possa confirmar se os comandos em lote foram bem-sucedidos antes de sair.
Mapeando como outro usuário
Se você não puder executar o net use
comando como um usuário com acesso aos compartilhamentos, um parâmetro adicional e mais interação com o usuário serão necessários para cada mapeamento.
Nenhum parâmetro adicional é necessário para excluir mapeamentos de unidade.
Para reconectar unidades como um usuário diferente, adicione o seguinte parâmetro a cada comando:
/user:[domain\username]
OU
/user:[username@domain]
EXEMPLOS:
net use R: \\myserver\reports /user:mydomain\me /p:y
OU
net use P: "\\myserver\c$\Program Files\My Application" /user:mysubdomain.mydomain.tld\me /p:y
OU
net use \\myserver\logs /user:me@mysubdomain.mydomain.tld /p:y
Para cada mapeamento, você deverá inserir sua senha. Eu acredito que há um parâmetro adicional disponível que permite incluir sua senha no comando. No entanto, como os arquivos em lote são armazenados em texto não criptografado, fortemente recomendar contra usá-lo.
cmd /c <batchfilename>
permite que um usuário do cygwin execute um arquivo em lote no sistema. Então, quando eu SSH em, eu apenas executar este comando para levar os compartilhamentos de rede para baixo e, em seguida, executar outro para trazê-los de volta se eu precisar.