使用SharePoint迁移工具PowerShell cmdlet时出现身份验证错误

omqzjyyz  于 2023-03-08  发布在  Shell
关注(0)|答案(1)|浏览(166)

Server 2012 R2文件共享到SharePoint Online的迁移
我尝试使用迁移工具自动计划与SharePoint Online的某些文件共享同步,但收到凭据不正确的错误。
相同的凭据可以使用SPMT的GUI版本工作,因此我知道它们是正确的,并且这些凭据是为365的全局管理员提供的,因此绝对不应该有权限问题。
我收到的错误:Task 7967a651-6a2a-47ed-afcd-6b1567496e7d did NOT pass the parameter validation, the error message is 'Username or password for target site https://tenant.sharepoint.com/sites/FileShareSite is not correct' Migration finished, but some tasks failed! You can find the report and log at X:\log.log
我使用的代码:

Import-Module Microsoft.SharePoint.MigrationTool.PowerShell    

$SPOUrl = "https://tenant.sharepoint.com/sites/FileShareSite"    
$Username = "admin@tenant.onmicrosoft.com"    
$Password = ConvertTo-SecureString -String "PasSWorD" -AsPlainText -Force    
$SPOCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Username, $Password 

Register-SPMTMigration -SPOCredential $SPOCredential -Force -MigrateWithoutRootFolder -PreserveUserPermissionsForFileShare $true -WorkingFolder "X:\log"

Add-SPMTTask -FileShareSource "\\file-server\shares\ShareOne" -TargetSiteUrl $SPOUrl -TargetList "ShareOne" -TargetListRelativePath "/"

Start-SPMTMigration -NoShow

根据日志,我看到400个响应代码,以及一些“现有连接被远程主机强制关闭”。
简单到我都不知道问题出在哪操作系统受支持,凭据正确,URL正确,* 所有 * 这些设置在该工具的GUI版本中都有效。
在日志中,我看到了登录AAD的引用,但我们在此租户上没有AAD,我有点好奇,想知道这是否只是语义,还是问题的一部分。我会假设GUI和PowerShell模块在后台使用相同的机制。Error happened in AAD login MSAL.Desktop.4.37.0.0.MsalServiceException: ErrorCode: user_realm_discovery_failed Microsoft.Identity.Client.MsalServiceException: Response status code does not indicate success: 400 (BadRequest).

rjzwgtxy

rjzwgtxy1#

所以我想通了,问题原来是PowerShell使用了过时的SSL/TLS密码。我使用[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12在PowerShell会话上强制TLS 1. 2,现在它正如预期的那样工作。

相关问题