そのページのサンプルコードは2015年のもので古く、多要素認証によるログインに対応できてないらしいです。
PnP PowerShellを使ったログイン方法に変更すると動きました。
# [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") > $null
# [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") > $null
function GetAllWebObjects()
{
# $context = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
# $pwd = convertto-securestring $password -AsPlainText -Force
# $credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $pwd)
# $context.Credentials = $credentials
# $context= Connect-PnPOnline -Url $siteUrl -UseWebLogin
$context= Connect-PnPOnline -Url $siteUrl -Interactive
$rootweb = $context.Web
$context.Load($rootweb)
$context.ExecuteQuery()
WriteToFile -text "URL`tUser/Group`tRoles" -append $false
GetWebObjectRoles -inweb $rootweb -url $rootweb.Url
}
#$outfilename="test.txt"
#$siteUrl="https://*****.sharepoint.com/sites/*****"
GetAllWebObjects