Vagamente relacionado a esta questão Network Share fazendo com que o Cygwin seja executado lentamente após 'ls' Gostaria de escrever um pequeno arquivo em lotes que eu possa executar para desconectar o host de qualquer compartilhamento de rede e, posteriormente, outro arquivo em lotes para reconectar. Idealmente, isso seria algo que eu posso executar a partir de um terminal PuTTY, SSHed na caixa executando o cygwin.
Tenho certeza que os arquivos em lote podem ser gravados facilmente, mas eu não sei sobre executá-los a partir de um terminal PuTTY. Independentemente disso, eu ainda gostaria dos batchfiles de qualquer maneira.
Por uma questão de simplicidade, meu processo seria:
- Faça o login no servidor via PuTTY
- Executar arquivos em lote para desconectar compartilhamentos
- Faça o que eu preciso fazer
- Executar arquivos em lote para reconectar compartilhamentos
- Sair da sessão, fechando o PuTTY
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.Respostas:
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:
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:
(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
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 oPAUSE
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:
OU
EXEMPLOS:
OU
OU
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.
fonte
Tente isso - não tem idéia de como ele vai funcionar no Cygwin ... mas esse é o BATCH que deve funcionar se for executado normalmente no Windows.
fonte