Feb 10 2020 07:11 PM
I found the below code online. I want to use the same concept but only return one SP site URL so I can use the URL to create a folder in that Team.
$Teams = (Get-Team |Select GroupId, DisplayName)
ForEach ($T in $Teams) {
$SPOURl = (Get-UnifiedGroup -Identity $T.GroupId | Select -ExpandProperty SharePointSiteURL)
Write-Host "URL for the" $T.DisplayName "team is" $SPOURL }
It would be easiest to start with getting the Team by displayname then taking the group ID and using that. All the individual versions of -expandproperty SharePointURL have not worked for me yet. Any advice?
Get-Team -DisplayName $Team | Select GroupId
Feb 11 2020 12:25 AM
Might help if you give us the exact samples you are running, I don't see any problem with the above.
Feb 11 2020 05:52 AM
@VasilMichev I am trying to do something like the two examples below
Get-Team -DisplayName $Team | Select GroupId
$SPOURL = (Get-Team -Identity $Team.GroupId | Select -ExpandProperty SharePointSiteURL)
Get-Team -DisplayName $Team | Select GroupId
$SPOURL = (Get-PnpSite -Identity $Team.GroupId | Select -ExpandProperty SharePointSiteURL)
Feb 11 2020 07:14 AM - edited Feb 11 2020 07:15 AM
@Mitch Crump I don't want to use UnifiedGroup because I only want a singular URL but now Get-UnifiedGroup is not working for me and I can't find the required module to install for it.
PS C:\WINDOWS\system32> Find-Module -Includes Cmdlet Get-UnifiedGroup
PackageManagement\Find-Package : No match was found for the specified search criteria and module name 'Get-UnifiedGroup'. Try Get-PSRepository to see all available registered module repositories.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1397 char:3
+ PackageManagement\Find-Package @PSBoundParameters | Microsoft ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power...ets.FindPackage:FindPackage) [Find-Package], Exception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
Feb 11 2020 08:44 AM
Well you cannot just expect every cmdlet to return the SharePointSiteUrl value, Get-Team most certainly does not do it.
To use the Get-UnifiedGroup cmdlet, you need to connect to Exchange Online PowerShell: https://docs.microsoft.com/en-us/powershell/exchange/exchange-online/connect-to-exchange-online-powe...
Feb 11 2020 09:28 AM
@VasilMichev do you have any suggestion on how to connect the dots from Get-Team to calling a SharePoint cmdlet and returning SharePointSiteURL?
And how odd, Get-UnifiedGroup was working for me last week without connecting to EXO...however, that is not really here nor there because I don't think I will be using it in my final script.
Feb 26 2024 08:21 AM
$teamMailNickName = (get-team -displayname "Name of Team").mailnickname
$TeamURL = "https://Name_of_Tenancy.sharepoint.com/sites/" + $teamMailNIckName
Mar 21 2024 08:20 AM
Mar 21 2024 10:17 AM - edited Mar 22 2024 02:06 AM
With Graph Explorer, I'm able to request the following endpoint:
GET https://graph.microsoft.com/v1.0/groups/{groupId}/sites/root?$select=name,webUrl
Which return the requested information:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites(name,webUrl)/$entity",
"name": "MYTEAMSITE",
"webUrl": "https://<tenant>.sharepoint.com/sites/MYTEAMSITE"
}
But the translated PowerShell query doesn't work for me, it asks for a $SiteId parameter, but I don't know how to get it for a Team site:
Import-Module Microsoft.Graph.Sites
Get-MgGroupSite -GroupId $groupId -SiteId $siteId -Property "name,webUrl"
Mar 22 2024 08:21 AM
Instead of using a couple of PowerShell Modules (ExchangeOnlineManagement, MicrosoftTeams, Sharepoint online management shell), I managed to do what I wanted (Updating MailNickname and SharePointSiteURL of aTeams site) with PnP.Powershell module.
With this module, to get a Teams Site URL, use the following code:
Get-PnPMicrosoft365Group -Identity $GroupId -IncludeSiteUrl | Select-Object -ExpandProperty SiteUrl