Forum Discussion

Anju_Singh's avatar
Anju_Singh
Copper Contributor
May 17, 2023

Need details of MS teams created in last 10 mins

I am trying to find a script which can fetch details of MS teams created in last 10 mins. I need the output to be created in 10 mins or less than 10 mins. Please advise if this is possible to achieve.

  • Anju_Singh 

    Yes, it is possible to achieve this using the Microsoft Graph API and a scripting language like Python. The Microsoft Graph API allows you to interact with Microsoft Teams and retrieve various details, including information about recently created teams.

    Here's an example script using the Python programming language and the Microsoft Graph API to fetch details of MS Teams created in the last 10 minutes:

     

    ```python

    import requests

    import datetime

    import time

     

    # Microsoft Graph API endpoint for teams

    teams_endpoint = "https://graph.microsoft.com/v1.0/groups?$filter=resourceProvisioningOptions/Any(x:x eq 'Team')&$select=id,displayName,createdDateTime"

     

    # Calculate the start time 10 minutes ago

    start_time = datetime.datetime.now() - datetime.timedelta(minutes=10)

     

    # Convert start time to ISO 8601 format

    start_time_iso = start_time.strftime("%Y-%m-%dT%H:%M:%S")

     

    # Request headers

    headers = {

        "Authorization": "Bearer YOUR_ACCESS_TOKEN"

    }

     

    # Send the request to the Microsoft Graph API

    response = requests.get(teams_endpoint, headers=headers)

     

    # Check the response status code

    if response.status_code == 200:

        # Parse the response JSON

        data = response.json()

     

        # Filter teams created within the last 10 minutes

        recent_teams = [team for team in data["value"] if team["createdDateTime"] >= start_time_iso]

     

        # Print the details of the recent teams

        for team in recent_teams:

            team_name = team["displayName"]

            team_id = team["id"]

            created_time = team["createdDateTime"]

            print(f"Team Name: {team_name}")

            print(f"Team ID: {team_id}")

            print(f"Created Time: {created_time}")

            print("--------")

     

    else:

        print(f"Error: {response.status_code} - {response.text}")

    ```

     

    In the script above, you need to replace `"YOUR_ACCESS_TOKEN"` with an actual access token that is authorized to access the Microsoft Graph API. You can refer to the Microsoft Graph API documentation to learn more about authentication and obtaining an access token.

     

    Please note that this script assumes you have the necessary permissions to access Microsoft Teams data via the Microsoft Graph API and that you have registered your application with the required permissions. Additionally, you may need to install the `requests` library using `pip install requests` if you don't have it already.

     

    Keep in mind that the script's execution time may vary depending on the network latency and the number of teams created within the specified timeframe.

     

     

    If I have answered your question, please mark your post as Solved

    If you like my response, please give it a Like :smile:

    Appreciate your Kudos! Proud to contribute! ğŸ™‚

     

    • Anju_Singh's avatar
      Anju_Singh
      Copper Contributor
      I appreciate your response. Is there any way to achieve this from the PowerShell script?
      • Deleted's avatar
        Deleted

        Hi Anju_Singh , 

        Here's an example script that demonstrates how you can achieve this:

         

        # Install and import the Microsoft Teams PowerShell module

        Install-Module -Name PowerShellGet -Force -AllowClobber -SkipPublisherCheck

        Install-Module -Name MicrosoftTeams -Force -AllowClobber -SkipPublisherCheck

         

        # Import the module

        Import-Module MicrosoftTeams

         

        # Connect to Microsoft Teams using your credentials

        Connect-MicrosoftTeams

         

        # Retrieve all Teams

        $allTeams = Get-Team

         

        # Get the current time

        $currentTime = Get-Date

         

        # Define the time range (e.g., 10 minutes)

        $timeRange = New-TimeSpan -Minutes 10

         

        # Filter Teams created within the last 10 minutes

        $newTeams = $allTeams | Where-Object { ($currentTime - $_.WhenCreated) -lt $timeRange }

         

        # Display details of the new Teams

        $newTeams | Format-Table DisplayName, WhenCreated, GroupId

         

        In this script, we first install the required PowerShell module (MicrosoftTeams) if it's not already installed. Then we import the module and connect to Microsoft Teams using your credentials. After that, we retrieve all the Teams in your environment.

        We then get the current time using Get-Date and define the desired time range using New-TimeSpan. In this example, we set the time range to 10 minutes.

        Next, we filter the Teams based on their creation time using the Where-Object cmdlet. The Teams whose creation time falls within the defined time range are stored in the $newTeams variable.

        Finally, we display the details of the newly created Teams by formatting and outputting the DisplayName, WhenCreated, and GroupId properties.

        Please note that the script assumes you have the necessary permissions to access the Teams information in your environment. Additionally, make sure you have the required PowerShell module (MicrosoftTeams) installed before running the script.

         

         

         

        If I have answered your question, please mark your post as Solved

        If you like my response, please give it a Like :smile:

        Appreciate your Kudos! Proud to contribute! ğŸ™‚

         

Resources