[Powershell]SharePointサイトのURLを変更する

概要

SharePointサイトのURL変更は、SharePoint管理サイトから行うことができます。

ただ、たくさんのURL変更をGUIでポチポチやるのは面倒だし間違えるので、PowerShellで変更するスクリプトを用意しました。

注意点

  • SharePointサイトのURL変更は他のリソースの動作に影響を与える可能性がありますので、下記URLの内容を把握した上で実施してください。
    サイト アドレスを変更する – SharePoint in Microsoft 365 | Microsoft Docs
  • SharePoint Online Management Shellが必要です。Powershell5以上の場合は下記のコマンドでインストールできます。
    Install-Module -Name Microsoft.Online.SharePoint.PowerShell
    詳しくは Get started with the SharePoint Online Management Shell | Microsoft Docs をご参照ください。
  • Import-Module Microsoft.Online.SharePoint.PowerShell
    を実行する必要がある場合があります。
    “Connect-SPOService がない”的なエラーメッセージが表示された場合は、import-moduleを実行してください。

スクリプト

<#
    .SYNOPSIS
    SharePointサイトのURL変更スクリプト
#>
[CmdletBinding()]
Param(
    [Parameter(Mandatory=$true)]
    [string]
    #テナント名
    $tenantName,

    [Parameter(Mandatory=$true)]
    [string]
    #変更前のSharePointサイトURL
    $OrgUrl,
    
    [Parameter(Mandatory=$true)]
    [string]
    #変更先のSharePointサイトURL
    $ChangeToUrl
)

function ValidateAndRename($nowUrl, $newUrl)
{
    $result = Start-SPOSiteRename -Identity $nowUrl -NewSiteUrl $newUrl -ValidationOnly
    if($result.ValidationState -eq "Success")
    {
        $result = Start-SPOSiteRename -Identity $nowUrl -NewSiteUrl $newUrl
        Write-Host "Success: [${nowUrl}] → [${newUrl}]"
    }else{
        Write-Host "Fail: [${nowUrl}] → [${newUrl}]" -ForegroundColor "Red"
    }
}

#ログイン
Connect-SPOService -Url "https://${tenantName}-admin.sharepoint.com/"

ValidateAndRename `
    -nowUrl $OrgUrl
    -newUrl $ChangeToUrl
    

コメントを残す