Liberando compartilhar bloqueios de arquivos do Windows
Pergunta
Este problema surge de vez em quando no trabalho. A nossa máquina de compilação pode tê-lo de arquivos acessados ??através de um compartilhamento de arquivos do Windows normal. Se alguém procura uma pasta remotamente na máquina, e deixa a noite janela aberta, então a construção falhar (como tem feito agora). A janela do explorador esquerda pontos aberto em uma das sub-pastas na árvore fonte. A construção elimina a fonte, e faz um check-out limpo antes de construir. A exclusão está falhando.
Agora, eu gostaria de obter a criação funcionar. Eu estou logado de casa, e eu prefiro não reiniciar a máquina de compilação. Eu sou incapaz de se apossar da pessoa cuja máquina está à procura e os arquivos, e não pode reiniciar remotamente sua máquina.
Quando um compartilhamento do Windows tem um bloqueio, o processo de bloqueio é do sistema, então eu não acho que eu posso matá-lo, como com fechaduras normais.
Alguém sabe uma maneira de liberar o bloqueio em uma pasta compartilhada sem ter que reiniciar a máquina?
Solução 2
Encontrado uma solução.
-
Encontre o processo usando Explorador :
- Faça o download e extrato procexp.exe
- Em Process Explorer usar o "Find Handle ou DLL ..." comando a partir do menu "Procurar"
- Digite o nome do diretório que está tendo problemas para exclusão deve ser mostrado
- A lista de arquivos abertos que combinem com esse nome. Tome algumas suposições e descobrir qual deles não está a ser excluído. Se o arquivo está bloqueado por um compartilhamento do Windows, o processo segurando o arquivo estará Sistema
- Anote o diretório que foi deixada aberta ??li>
-
Faça o download e instalar o Unlocker ( Aviso : link removido, pois ele contém malware)
- Instale Unlocker, desabilitando a opção para extensões Explorer e outros junk
-
Desbloquear o diretório
- Abra uma janela cmd, e navegue até C: \ Arquivos de Programas \ Unlocker
- Na janela cmd, execute Unlocker.exe "o caminho-para-o-locked-pasta"
- Uma caixa de diálogo irá aparecer confirmando a liberação de bloqueio. Use o botão de desbloqueio para desbloquear o arquivo
Agora, o diretório deve ser desbloqueado, e agora pode ser apagada.
Outras dicas
Se você é administrador no servidor de partilha de ficheiros através da rede, você pode usar o recurso do Windows embutido:
- Iniciar ? Meu computador ? botão direito do mouse ? Gerenciar deixa no computador console de gerenciamento
- Na navegação à esquerda, navegue para Ferramentas de Sistema ? pastas compartilhadas
- Você pode ver Ações, Sessões e arquivos abertos aqui. Isso permite que você descubra quem abriu quais arquivos a partir do qual as estações de trabalho.
- Clique com o botão direito do mouse sobre um item na lista para ser capaz de remover o bloqueio de arquivo.
Espero que isso ajude.
Hacker Processo Tente: https://wj32.org/processhacker/
Process Hacker é como Process Explorer em esteróides.
Para encontrar o processo ofensivo, pressione CTRL + F ou clique no botão "Procurar alças de DLLs" e procure o nome do arquivo.
Uma vez que você encontrar o arquivo no diálogo alças encontrar, você pode simplesmente clique direito no arquivo lá e escolher "fechar". (Pelo menos para v2.39.124)
As versões mais antigas tinham uma opção "terminator" no menu de contexto do processo.
Botão direito do mouse sobre o processo ofensivo -> Miscellaneous
-> Terminator
-> Selecionar técnicas de terminação . Note-se que alguns são possivelmente perigoso e pode ter consequências inesperadas.
Eu tive problemas semelhantes, e nenhuma dessas sugestões que eu vi acima de olhar adequado para compilações automatizadas durante a noite (como o poster original implícita), porque todos eles exigem esforço manual para caçar e matar as fechaduras.
O único método que eu tentei que parece funcionar de forma confiável é remover a própria ação, fazer a construção, em seguida, adicione a parte de trás share. Aqui está uma maneira de remover o compartilhamento automaticamente:
D: \ Projects> compartilhar projetos líquida / DELETE / Y
Os usuários têm arquivos abertos em projetos. Continuando a operação forçará os arquivos fechados.
Projetos foi excluído com sucesso.
(NOTA:. Criando o share novamente automaticamente pode ser uma dor se os grupos de privilégio que você precisa para dar-lhe são desorganizados)
A forma como eu fazer isso é usando tanto openfiles.exe e Handle.exe Você pode executá-los em qualquer ordem e você terá seu recurso totalmente desbloqueado.
openfiles: para desconectar sessões de compartilhamento de arquivos
Handle.exe: para liberar os identificadores abertos (não tente alças estreitas pertencentes a pid4, já que é o processo do sistema)
Você pode automatizar isso usando powershell, lote ou qualquer idioma de sua escolha.
Outra opção é, a partir do Windows Vista, para usar a ferramenta Windows embutido no sistema:
recursos do monitor: perfmon.exe /res
Extraído de: Http://www.sysadmit.com/2017/06/windows-how-to-know-that-process-has-open-a-file.html