设置一个BITS服务器仅用于上传

通常我们需要让客户端发送大量的备份集给我们。 我们目前使用的是ftp,但是在转移完成之前,我们遇到了在客户端计算机上closuresftp客户端的问题。

我们希望使用后台智能传输服务(BITS),但是我无法像创buildFTP那样创build相同的“UploadOnly”样式帐户。

到目前为止,我已经通过SSL使用NTLM身份validation,并且对于能够同时上传和下载的正常使用情况而言非常有用。 但是,如果删除“修改”权限(特别是删除“列出文件夹/读取数据”,“读取扩展属性”或“删除”权限)到上传帐户的虚拟目录,我会遇到以下错误从客户端执行上传:

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 

此外,如果未选中“删除”权限,则会在名为bitssrv_{RANDOM_GUID}_statefile的上传文件夹中留下0KB文件,其中RANDOM_GUID是每个文件的不同guid。

我需要做什么来设置BITS,以便我可以上传数据到服务器,但不能下载它? 如果不能做我想让我知道的,我也可以创build一个脚本,在传输完成时将其移出上传文件夹。

使用共享login帐户,这是不可能的。 BITS的一部分是能够重新启动中断的文件传输,它通过读取文件的结尾来知道从何处重新启动。 所以放置文件的能力总是需要读取文件的能力。

一个选项可能不是使用一个帐户login,而是创build一组将要发送文件的机器。 给组修改对文件夹(但不是子文件夹和文件)的访问权限。 也给CREATOR OWNER完全访问文件和子文件夹。 使用机器凭证login,只有上传文件的机器才能读取文件。