Powershell 通过BITS上传到OneDrive

Powershell 通过BITS上传到OneDrive,powershell,file-upload,onedrive,powershell-4.0,microsoft-bits,Powershell,File Upload,Onedrive,Powershell 4.0,Microsoft Bits,我正在尝试使用BITS向OneDrive提交文件。 我在这里找到一篇关于这个的文章:;但我希望PowerShell的本机Start-BitsTransfer方法可以帮我省点力气。然而,这篇文章暗示OneDrive支持BITS上传;所以事情是有希望的 $source='\\myFileServer\Backups\SqlServerDbBackup.bak'#3.2GB文件 $destination=https://myCompany.sharepoint.com/personal/my_acco

我正在尝试使用BITS向OneDrive提交文件。 我在这里找到一篇关于这个的文章:;但我希望PowerShell的本机
Start-BitsTransfer
方法可以帮我省点力气。然而,这篇文章暗示OneDrive支持BITS上传;所以事情是有希望的

$source='\\myFileServer\Backups\SqlServerDbBackup.bak'#3.2GB文件
$destination=https://myCompany.sharepoint.com/personal/my_account/Documents/SqlServerDbBackup.bak'
$cred=get credential#我在这里输入访问该站点所用的相同凭据
启动BitsTransfer-源$Source-目标$Destination-传输类型上载-凭据$cred
当我运行上述代码时,进度条会短暂弹出,然后出现错误。完整输出(包括凭证提示)如下:

cmdlet在命令管道位置1获取凭据
提供以下参数的值:
Start BitsTransfer:HTTP状态501:服务器不支持满足请求所需的功能。
第8行字符:1
+启动BitsTransfer-源$Source-目标$Destination-TransferType Uploa。。。
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:InvalidOperation:(:)[Start BitsTransfer],异常
+FullyQualifiedErrorId:StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.Management.NewBitsTransferCommand

以前是否有人尝试过此操作/是否可以使用
start bitstransfer
执行到OneDrive的上载?

看起来您正在尝试上载到OneDrive以供业务使用。您找到的MSDN文章适用于personal OneDrive;OneDrive for Business不支持BITS。尽管您不能使用Start BitsTransfer,但您可以找到有关新上载API的信息,该API适用于个人和企业OneDrive。

如果您手动输入凭据,如
Start BitsTransfer-Credentialuser@domain.com
应该提示您输入密码,然后您是否会收到相同的错误?@Avshalom Yes,不幸的是,传递凭证变量或使用
Start-BitsTransfer
commandlet提示输入密码会导致相同的结果。@JohnLBevan我认为这不会起作用,OneDrive需要OAuth承载令牌,而
Start-BitsTransfer