Cannot bind parameter error message

Brass Contributor

Hello I am working with a script and getting an error that I am not sure how to deal with. Script snipit and error are below. My Google searches are not providing any help and any help is greatly appreciated!!


$username = Read-Host 'Enter Username'
$newadmin = Read-Host 'Enter New Admin'
$OneDriveUrl = Get-PnPUserProfileProperty -Account $username | select PersonalUrl
Set-SPOUser -Site $OneDriveUrl -LoginName $newadmin -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue

When running this script I am getting the error....
Set-SPOUser : Cannot bind parameter 'Site'. Cannot convert the "@{PersonalUrl=}" value of type
"Selected.Microsoft.SharePoint.Client.UserProfiles.PersonProperties" to type "Microsoft.Online.SharePoint.PowerShell.SpoSitePipeBind"

Im not sure why it wont take the value from the $OneDriveUrl paramater. 

3 Replies
best response confirmed by charlie4872 (Brass Contributor)

@charlie4872 Hello Charlie, could you try to extract the URL from the property?.


Set-SPOUser -Site $OneDriveUrl.PersonalUrl -LoginName $newadmin -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue



Erick Moreno

YES!!!!!!@Erick A. Moreno R.  Thank you so much that is exactly what I was looking for and confirmed it works!

@charlie4872 Awesome, please don't forget to mark it as the answer.