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

[玩转系统] 如何使用 PowerShell 在 SharePoint Online 中续订客户端密钥?

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

如何使用 PowerShell 在 SharePoint Online 中续订客户端密钥?


要求:在 SharePoint Online 中续订客户端密钥。

如何延长 SharePoint Online 中客户端密钥的有效性?

客户端密码是 SharePoint Online 应用程序身份验证过程的重要部分。它用于授予应用程序对 SharePoint 资源的访问权限并验证其身份。在本教程中,我们将向您展示如何使用 PowerShell 在 SharePoint Online 中续订客户端密钥。您将了解如何使用 PowerShell 连接到您的租户并更新应用程序的客户端密钥。

通过 SharePoint Online 的 /_layouts/15/AppRegNew.aspx 注册的任何客户端 ID(或应用程序 ID)和客户端密钥的有效期为 1 年,并且无法从 Web 续订客户端密钥用户界面(截至今天!)。如果给定的客户端密钥已过期,您可能会开始看到 401 未经授权的错误,并且使用特定过期客户端密钥的应用程序/加载项将停止工作!

[玩转系统] 如何使用 PowerShell 在 SharePoint Online 中续订客户端密钥?

PowerShell 用于更新 SharePoint Online 客户端机密

假设您安装了 AzureAD PowerShell 模块,以下是 PowerShell 脚本,用于将给定应用程序的客户端密钥的有效期延长十年。几点注意事项:

  • 出现提示时以租户管理员身份登录
  • 确保根据您的要求设置 $AppName。
  • 设置 $EndDate 参数以设置客户端密钥何时过期。

#Parameters
$AppName = "File Server Sync Utility"

#Connect to AzureAD
Connect-AzureAD -Credential (Get-Credential)

#Get the Client ID
$App = Get-AzureADServicePrincipal -All $true |  Where-Object {$_.DisplayName -eq $AppName} # Or {$_.AppID -eq '4562ff5a-568c-45a1-a4da-18d64c359ec2'}

#Get the Current Expiry Date
$CurrentExpiryDate = (Get-AzureADServicePrincipalPasswordCredential -ObjectId $App.ObjectId).EndDate
Write-host "Current Expiry Date:"$CurrentExpiryDate

#Extend the validity of the App by 10 years
$StartDate = Get-Date
$EndDate = $StartDate.AddYears(10)
New-AzureADServicePrincipalPasswordCredential -ObjectId $App.ObjectId -StartDate $StartDate -EndDate $EndDate

上述 PowerShell 扩展了现有客户端密钥的有效性!换句话说,将生成具有新到期日期的相同客户端密钥。如果您想用新的密钥替换当前的客户端密钥(或密码)怎么办?


New-AzureADServicePrincipalPasswordCredential -ObjectId $App.ObjectId -StartDate $StartDate -EndDate $EndDate -Value "MyNewClientSecretGoesHere"

现在,您可以通过连接到 SharePoint Online 来验证客户端 ID 和客户端密钥:


#Connect to PnP using Client ID and Client Secret
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"
Connect-PnPOnline -ClientId "4562ff5a-568c-45a1-a4da-18d64c359ec2" -ClientSecret "h9+rJfADo72e3w6uW5qfgeVRO98vzDc0LrSbGemm=" -Url $SiteURL

#Get All Lists from the site
Get-PnPList

确保客户端机密的安全非常重要,因为它用于验证您的应用程序并授予其对 SharePoint 资源的访问权限。

结论

总而言之,使用 PowerShell 在 SharePoint Online 中续订客户端密钥是一个简单的过程,只需执行几个简单的步骤即可完成。首先,使用 PowerShell Connect-AzureAD cmdlet 连接到 Azure AD。接下来,使用 Get-AzureADServicePrincipal cmdlet 获取应用程序,指定应用程序的客户端 ID 和新的客户端密钥。最后,使用 New-AzureADServicePrincipalPasswordCredential cmdlet 续订应用密钥。通过执行这些步骤,您可以轻松地更新 SharePoint Online 应用程序的客户端密钥,并确保它继续能够安全地访问租户的资源。

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

取消回复欢迎 发表评论:

关灯