当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:修复 PowerShell 中的“远程服务器返回错误 (401) 未经授权”错误

作者:精品下载站 日期:2024-12-14 15:33:12 浏览:13 分类:玩电脑

SharePoint Online:修复 PowerShell 中的“远程服务器返回错误 (401) 未经授权”错误


问题:使用“0”个参数调用“ExecuteQuery”时出现异常:“远程服务器返回错误 (401) 未经授权。” SharePoint Online PowerShell 脚本中出现错误。

[玩转系统] SharePoint Online:修复 PowerShell 中的“远程服务器返回错误 (401) 未经授权”错误

故障排除清单:

使用 PowerShell 使用 SharePoint Online 时,您可能会遇到错误“远程服务器返回错误 (401) 未经授权”。当脚本未经过正确身份验证以访问 SharePoint Online 网站时,可能会发生此错误。在本教程中,我们将讨论如何修复“远程服务器返回错误(401)未经授权”错误。

以下是远程服务器在 SharePoint Online 中返回未经授权的 401 错误的各种根本原因和解决方案:

1. 你的网址正确吗?


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing" 
 
#Get Credentials to connect
$Cred= Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
  
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Credentials
 
#Get the Web
$Web=$Ctx.Web
$Ctx.Load($Web)
$Ctx.ExecuteQuery()

您将收到相同的错误“Connect-SPOService:远程服务器返回错误:(401) 未经授权。”如果您尝试使用 Connect-SPOService cmdlet 进行连接。


Connect-SPOService -Url "https://crescent-admin.sharepoint.com" -Credential (Get-Credential)

在此脚本中,URL 不正确!它不是“https://tenant.sharepoint.com”,而是“http://tenant.sharepoint.com”。 SharePoint Online URL 必须始终以 HTTPS 开头!

2. 您有访问该网站的权限吗?

如果您没有通过浏览器访问目标站点的权限,则无法从 PowerShell 访问它(绝对!)。因此,请检查您是否有足够的权限并且可以在网络浏览器中打开该网站。如果要使用 Connect-SPOService cmdlet 连接到网站,您还必须具有 SharePoint Online 管理员角色。

3. 是否启用了旧版身份验证协议?

检查您的租户中是否启用了旧版身份验证协议。


Get-SPOTenant -LegacyAuthProtocolsEnabled

如果没有,请使用以下命令启用它:


Set-SPOTenant -LegacyAuthProtocolsEnabled $True 

4. 自定义应用认证是否被禁用?

如果您使用应用程序身份验证,您可能会收到“远程服务器返回错误:(401) 未经授权”。尝试使用 Connect-PnP Online cmdlet 进行连接时出现消息。检查您的租户设置“DisableCustomAppAuthentication”是否设置为 true。如果是,则将其设为 false。


Get-SPOTenant -DisableCustomAppAuthentication

通过以下方式启用自定义应用程序身份验证:


Set-SPOTenant -DisableCustomAppAuthentication $False

概括

总之,使用 SharePoint Online 时,PowerShell 中出现“远程服务器返回错误 (401) 未经授权”错误可能是由多种因素引起的,例如凭据不正确或缺乏权限。要修复此错误,您可以尝试上述几种方法。确保您使用的凭据具有访问 SharePoint Online 网站所需的权限也很重要。通过执行以下步骤,您可以成功修复“远程服务器返回错误 (401) 未经授权”错误,并继续使用 PowerShell 使用 SharePoint Online。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯