Configure o SCCM para que os arquivos com um símbolo de mais (+) no nome do arquivo possam ser baixados do ponto de distribuição

4

Estamos usando o Microsoft SCCM 2007 para implantar pacotes de programas em nosso ambiente de rede. Um dos pacotes (MathType, caso alguém esteja curioso) tem muitos nomes de arquivos com um símbolo de mais + neles.

Quando um pacote é baixado para uma máquina cliente, os arquivos são extraídos do servidor do ponto de distribuição via http. O ponto de distribuição executa o IIS, que não manipula os sinais + em URLs. O resultado é que o cliente SCCM recebe um 404 do servidor e não consegue concluir o download ou a instalação do pacote.

Gostaria de renomear todos os arquivos com + , mas o instalador está esperando determinados nomes de arquivos, por isso precisamos manter o esquema de nomenclatura original. Devido ao modo como nosso ambiente de rede é configurado, não temos controle direto sobre o servidor do ponto de distribuição; portanto, não podemos fazer nenhuma modificação no IIS que permita o uso de + símbolos em URLs.

Como podemos distribuir pacotes que incluem arquivos com um símbolo + sem interromper o SCCM?

Pensei nas seguintes soluções alternativas, mas gostaria de encontrar uma solução mais elegante que não requer ajuste manual de nenhum pacote com símbolos + :

  • Coloque tudo em um arquivo zip / 7z de extração automática e baixe-o do ponto de distribuição
  • Renomeie todos os files+with+plusses para files_with_plusses e, em seguida, altere-os manualmente de volta para o nome original no arquivo de lote de instalação, assim que eles forem baixados para o cache local

Existe uma solução que realmente resolve o problema, em vez de contorná-lo?

    
por nhinkle 02.08.2012 / 00:06

1 resposta

2

Is there a solution that actually fixes the problem, rather than working around it?

Depende inteiramente de como você define "o problema". A meu ver, "o problema" é que alguém decidiu que seria uma boa idéia incluir caracteres especiais no caminho do arquivo de seu software, apesar de ser uma má idéia fazê-lo. (Ele não está sozinho, se isso faz você se sentir melhor ... ou pior.) Como resultado, você não pode simplesmente passar esses caminhos para o IIS, porque ele rejeita caminhos com certos caracteres por padrão, como uma medida de segurança (para proteger contra URLs criadas com códigos maliciosos).

No caso geral, uma possível "correção" para isso que não envolva renomear os arquivos é desabilitar esse recurso de segurança na configuração da web do aplicativo (permitir Double Escaping). Mas como isso deixaria você vulnerável a URLs criadas com códigos maliciosos, não tenho certeza se vejo isso como uma correção, mas como uma solução alternativa com uma grande falha de segurança anexada. Desde que você não pode fazer isso, é em grande parte acadêmica de qualquer maneira.

Suas opções básicas são alterar as configurações do IIS para permitir caminhos que contenham + ou, de alguma forma, remover / ofuscar + no caminho. Desde que você é incapaz de fazer o primeiro, a única opção que você tem é o último. Por que vale a pena, criar um arquivo auto-extraível a partir do aplicativo problemático parece ser mais fácil de automatizar, e é isso que eu gostaria de fazer.

    
por 02.08.2012 / 03:15