Existe alguma maneira de fazer com que o Windows (10 preferencialmente) explorer abra o URI do protocolo smb? Gostarsmb://1.2.3.4/file.txt
Estou em um ambiente diversificado de sistemas operacionais (principalmente windows, mac e linux) e também serviços web que estamos usando (slack, youtrack), mas todos os nossos arquivos estão em um servidor com compartilhamento samba e é difícil ter links clicáveis que todos podem acessar.
Temos duas opções para a unificação:
- O caminho do Windows -
file://X:/
- O jeito Unix? -
smb://1.2.3.4/
Descobri que é mais fácil usar os links smb com ferramentas da web, o slack os reconhece, o mac e o linux os abrem bem, é só que o Windows está se recusando a reconhecer o protocolo, embora o próprio endereço funcione.
windows
networking
samba
Eskel
fonte
fonte
Respostas:
Obrigado DavidPostill por me indicar a direção certa. Aqui está o que eu fiz:
Arquivo de registro (smb.reg):
Arquivo em lote (openLink.bat):
E funciona muito bem. :)
fonte
Se seus links SMB contiverem espaços, você poderá usar o seguinte script em lote aprimorado na resposta da Eskel:
fonte
Por qualquer motivo, no Windows 10, invocar
explorer.exe
conforme detalhado nas outras respostas aqui não funcionou; sempre abriria a localização de documentos do usuário. Em vez disso, achei questart "" %str%
funcionou.Para ser completo, então, este é o
openLink.bat
arquivo que trabalhei, com base no aprimoramento de oberlies na resposta original de Eskel :E então este é o arquivo .reg que usei:
(Que é igual ao original de Eskel, exceto que eu não queria criar outra pasta agrupando as listagens na unidade C: então joguei o arquivo em lotes na pasta do Windows. Como bônus, isso o coloca no Windows $ PATH ou% PATH% suponho.)
fonte
o URL que você chama no Windows (qualquer um dos navegadores mencionados) é:
file://///IP/Share
(IP é endereço IP ou host, compartilhamento é um compartilhamento SMB válido, acessível anonimamente ou através de autenticação)
fonte
A maneira mais fácil de acessar o Windows é, supondo que seu navegador tenha o Javascript ativado, assim:
JS: if (navigator.userAgent.indexOf ('Windows')! = - 1) {document.getElementById ('objDiv'). InnerHTML = 'localização SMB'; }
Eu suponho que você tem, por exemplo. uma tag DIV com id = objDiv. Observe que, embora navegadores modernos como Chrome, Firefox, IE 11, Opera (alguém ainda o use?) O impeçam de navegar de "não FILE: /// URIs" como HTTP, HTTPS para um "arquivo: // / "URI baseado, você pode tentar escrever o URL na página se não puder acessá-lo (você pode tentar window.location e, com erro, escreva na página e peça ao usuário para copiar o URL e colá-lo na barra de endereço do navegador dele). Vantagem: você não precisa solicitar a instalação de nada. Desvantagem: os usuários sempre terão que copiar e colar itens na barra de endereços do navegador.
O registro do protocolo SMB: // URL está ok, mas o script fornecido pelo nosso amigo pressupõe que você tenha acesso no nível 'Administrador' e, toda vez que você tentar fazer referência a esse protocolo, o navegador solicitará (a menos que você altere as configurações) não perguntará sobre esse protocolo em particular.).
Uma solução alternativa para o script REG é substituir:
HKCR com HKCU \ Software \ Classes ... a variável de ambiente 'PATH' para o usuário atual (que não requer acesso do administrador para alteração) está localizada em: HKCU \ Environment no Registro do Windows. (você edita o valor REG_SZ ou REG_EXPAND_SZ 'caminho'.)
Se você tiver acesso de 'Administrador', poderá clicar com o botão direito do mouse no script em lote fornecido (arquivos .bat ou .cmd) e selecionar a opção de menu "Executar como Administrador" ... isso é traduzido (localizado) para diferentes idiomas, mas a maneira mais fácil de conhecer esta opção de menu é olhar para o ícone de um escudo, no lado esquerdo da opção. Vantagens: o usuário não precisará copiar e colar coisas o tempo todo ... Desvantagens: Os usuários terão que instalar coisas. Além disso, o Protocolo de URL pode conter vulnerabilidades, incluindo, sem limitação, desvio de segurança do navegador, permitindo que elas sejam invocadas automaticamente ou injeções de código / argumento que podem levar a uma bagunça, comprometimento do sistema etc.
Nota: Testado com sucesso no Chrome, Firefox e IE 11. O Edge parece não ser compatível com todos os caminhos de rede (caminhos locais ok, mas novamente você não pode navegar de locais remotos para pastas ou arquivos locais)
espero que isso ajude e esclareça;)
fonte