Geralmente, precisamos que os clientes enviem grandes conjuntos de backup para nós. Nós atualmente usamos o ftp, no entanto nós corremos para a questão do cliente ftp sendo fechado no computador do cliente antes da conclusão da transferência.
Gostaríamos de usar o Serviço de Transferência Inteligente em Segundo Plano (BITS), no entanto, estou tendo problemas para criar a mesma conta no estilo "UploadOnly" que eu tenho no FTP.
Até agora eu tenho isso usando a autenticação NTLM sobre SSL e funciona muito bem para o caso de uso normal de poder fazer upload e download. No entanto, se eu remover as permissões "Modificar" (removendo especificamente "Listar pasta / ler dados", "Ler atributos estendidos" ou "Excluir" permissões) para o diretório virtual da conta de upload, recebo o seguinte erro ao tentar realizar o upload do lado do cliente:
Start-BitsTransfer : Access is denied.
At line:1 char:19
+ Start-BitsTransfer <<<< -TransferType Upload -Source E:\test.bin -Destination https://www.example.com/BitsUpload/test.bin -Credential $c -Authentication NTLM
+ CategoryInfo : InvalidOperation: (:) [Start-BitsTransfer], Exception
+ FullyQualifiedErrorId : StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.Management.NewBits
TransferCommand
Além disso, se a permissão "Excluir" não estiver marcada, ela deixará um arquivo de 0 KB na pasta de upload com o nome bitssrv_{RANDOM_GUID}_statefile
, onde RANDOM_GUID é um guia diferente por arquivo.
O que eu preciso fazer para configurar o BITS para que eu possa fazer o upload de dados para o servidor, mas não baixá-lo? Se não for possível fazer o que eu quero, deixe-me saber disso também, posso apenas fazer um script que o mova para fora da pasta de upload quando a transferência for concluída.