【问题标题】:Upload to OneDrive via BITS通过 BITS 上传到 OneDrive
【发布时间】:2015-11-26 09:15:17
【问题描述】:

我正在尝试使用 BITS 将文件提交到 OneDrive。 我在这里找到了一篇关于此的文章:https://msdn.microsoft.com/en-us/library/dn858877.aspx;但我希望 PowerShell 的原生 Start-BitsTransfer 方法可以为我节省一些精力。但是,该文章暗示 OneDrive 支持 BITS 上传;所以事情很有希望。

$source = '\\myFileServer\Backups\SqlServerDbBackup.bak' #3.2GB file
$destination = 'https://myCompany.sharepoint.com/personal/my_account/Documents/SqlServerDbBackup.bak'
$cred = get-credential #here I enter the same credentials I use to access the site
Start-BitsTransfer -Source $source -Destination $destination -TransferType Upload -Credential $cred

当我运行上述代码时,进度条会短暂弹出,然后出现错误。完整输出(包括凭据提示)如下:

cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Start-BitsTransfer : HTTP status 501: The server does not support the functionality required to fulfill the request.
At line:8 char:1
+ Start-BitsTransfer -Source $source -Destination $destination -TransferType Uploa ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-BitsTransfer], Exception
    + FullyQualifiedErrorId : StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.Management.NewBitsTransferCommand

之前有没有人尝试过这个/任何想法是否可以使用start-bitstransfer 执行上传到 OneDrive?

【问题讨论】:

  • 如果你像Start-BitsTransfer -Credential user@domain.com这样手动输入凭据,系统会提示你输入密码,之后你会得到同样的错误吗?
  • @Avshalom 是的,遗憾的是传递凭据变量或获取 Start-BitsTransfer 命令行开关提示输入密码会产生相同的结果。
  • @JohnLBevan 我不认为它会起作用,OneDrive 需要一个 OAuth 持有者令牌,Start-BitsTransfer 不支持的身份验证方案

标签: powershell file-upload onedrive powershell-4.0 microsoft-bits


【解决方案1】:

您似乎正在尝试上传到 OneDrive for Business。您找到的 MSDN 文章适用于个人 OneDrive; OneDrive for Business 不支持 BITS。虽然您不能使用 Start-BitsTransfer,但您可以找到有关新上传 API here 的信息,该 API 适用于个人和企业 OneDrive。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多