Showing posts with label PowerShell. Show all posts
Showing posts with label PowerShell. Show all posts

Wednesday, February 14, 2024

New Microsoft Graph PowerShell 2.13.1 version

Heads up: It's time to upgrade your Microsoft Graph PowerShell module. Microsoft released a newer version, 2.13.1.


1. Adds custom header support and content type detection for input files.
2. Remove dead code.
3. Examples Updated.




Thursday, January 11, 2024

Website App in Teams is retiring in April-2024

 

Heads up! If you're using the Website tab in your Teams Channels or Group Chats to connect your Line of Business (LOB) applications, you need to take note of this important message. Currently, you can easily add the Website app as a tab in your Teams, which allows you to view and interact with the data within Teams client.

However, effective April 2024, Microsoft Teams will discontinue the ability to load websites inside the new Teams client when using the Website tab. Instead, these website links will open in a new browser tab. This change is being implemented to align with the latest best practices in web security and privacy, while also improving the reliability of websites opened through this feature.

You can utilize Graph API and Graph PowerShell SDK for analyzing your environment to gain insights into app usage and plan for user communication, if necessary.




Monday, July 10, 2023

The Microsoft Graph PowerShell SDK 2.0 has been released as a generally available version.

The latest version of Microsoft Graph PowerShell SDK offers a plethora of new and upgraded features. It's advisable to upgrade your current PowerShell SDK module to version 2.0 and make the most of these features.


What has changed?

  • When using Graph PowerShell SDK 1.0, it is necessary to manually switch the API profile by utilizing the command Select-MgProfile -Name beta or V1.0 when needing access to either version. With the new upgrade (2.0) Microsoft is depreciating Select-MgProfile to switch between V1.0 and beta. 

It's important to note that Connect-MgGraph will automatically connect to V1.0 by default.

  • To utilize beta API commands, it is necessary to install a separate Beta PowerShell Module by running the command "Install-Module Microsoft.Graph.Beta -AllowClobber".

  • In the same profile, you can access the V1.0 and beta commands. This improves the error handling.
  • With MgBeta, every beta command has its unique syntax, and the current syntax will remain unchanged with the command prefix being the "mg" prefix. The user can easily navigate through the commands without any confusion.


# For Microsoft Graph v1.0
Install-Module Microsoft.Graph -AllowClobber

# For Microsoft Graph beta
Install-Module Microsoft.Graph.Beta -AllowClobber


Install Beta module-


With the latest update, it's now possible to use both v1.0 and beta commands in a single script without the hassle of reloading the entire module.


Release notes -

  • Adds Managed identity support.
  • Adds client secret credentials support.
  • Adds support for both current user and local machine certificate store lookup. Priority is given to certificates in CurrentUser store if two identical certificates are present in both stores.
  • Adds environment variable based authentication support.
  • Adds paging support to delta commands.
  • Adds dedicated count commands for supported APIs.
  • Adds logging of MSAL events to debug stream when using Connect-MgGraph.
  • Adds parameter completer for -Period in Reports module and -ConsistencyLevel parameter.
  • Adds preview support for WAM.
  • Fixes escaping of -Filter values.
  • Fixes handling of claims challenge.
  • Fixes wrongly pluralized command names.
  • Fixes date assignment in Reports module.
  • Makes enhancements to -WhatIf on supported commands.
  • Makes improvements to how service errors surface to the error stream.
  • Improves API coverage by adding support for previously unsupported APIs.
  • Resolves assembly conflicts with common modules.
  • Drops the use of profiles to switch between API versions. Service modules are now split by API version.
  • Drops support for -ForceRefresh on Connect-MgGraph.
  • Renames beta command names from <Verb>-Mg<Noun> to <Verb>-MgBeta<Noun>.
  • Renames DeviceManagement.Enrolment module to DeviceManagement.Enrollment.
  • Moves directory role and entitlement management commands from DeviceManagement.Enrollment to Identity.Governance module.
  • Changes beta namespace from Microsoft.Graph.PowerShell.Models.<Entity> to Microsoft.Graph.Beta.PowerShell.Models.<Entity>.
  • Changes -AccessToken type on Connect-MgGraph from String to SecureString

Thursday, March 2, 2023

Microsoft Teams released a major update on PowerShell Module 5.0.0 with significant performance improvements and lots of new filters.


- Releases major updates for Get-CsOnlineUser with significant performance improvements and new filtering capabilities to scenarios without the "-Identity" parameter.


 - Performance improvements, especially with "-Filter" scenarios like using wildcard operator (*), OnPrem* and Timestamp attributes.


 - New attributes have now been introduced in the output to ensure parity with scenarios involving the "-Identity" parameter: CountryAbbreviation, SipProxyAddress, TeamsMediaLoggingPolicy, UserValidationErrors, WhenCreated.


 - These attributes are now enabled for filtering: Alias, City, CompanyName, CompanyName, HostingProvider, UserValidationErrors, OnPremEnterpriseVoiceEnabled, OnPremHostingProvider, OnPremLineURI, OnPremSIPEnabled, SipAddress, SoftDeletionTimestamp, State, Street, TeamsOwnersPolicy, WhenChanged, WhenCreated, FeatureTypes, PreferredDataLocation, LastName.


 -  These filtering operators have been reintroduced into Get-CsOnlineUser:
     - "-like" operator now supports the use of wildcard operators in 'contains' and 'ends with' scenarios. 

Example: Get-CsOnlineUser -Filter "DisplayName -like '*abc*'"
     - "-contains" can now be used to filter properties that are an array of strings like FeatureTypes, ProxyAddresses and ShadowProxyAddresses.

Example: Get-CsOnlineUser -Filter {FeatureTypes -contains "PhoneSystem"}
     - "-gt" (greater than), "-lt" (less than), "-le" (less than or equal to) can now be used for filtering all string properties. Example: Get-CsOnlineUser -Filter {UserPrincipalName -gt/-le/-lt "abc"}
     - "-ge" (greater than or equal to) can now also be used for filtering on policies. Example: Get-CsOnlineUser -Filter {ExternalAccessPolicy -ge "xyz_policy"}


 - Updates to the type of users displayed:    
   - Unlicensed Users - Unlicensed users would show up in the output for 30 days post-license removal.


   - Soft deleted users - These users will be displayed in the output with SoftDeletionTimestamp set to a value.

Tuesday, January 31, 2023

New Microsoft Teams PowerShell version 4.9.3 released with new features and bug fixes

It's time for IT admins to install the new Microsoft Teams PowerShell module to manage more Teams Call Queue, Validating Voicemail, DialPlan & Normalization rules.


- Adds Certificate parameter to Connect-MicrosoftTeams.
- Adds WelcomeTextToSpeechPrompt parameter to [New|Set]-CsCallQueue.
- Fixes issues with pipeline input for Test-CsEffectiveTenantDialPlan & Test-CsVoiceNormalizationRule cmdlets.
- Releases [Get|Set]-CsOnlineVoicemailValidationConfiguration cmdlets.
- Releases [Get|Set|Grant|Remove|New]-CsTeamsMeetingBrandingPolicy cmdlets.
- In CsTeamsMeetingBrandingPolicy cmdlets, there is a known issue that prevents using the 'Remove' list modifier when trying to delete a TeamsMeetingBrandingTheme or a NdiAssuranceSlate. To remove all elements from MeetingBrandingThemes, the workaround is setting the values to null, example: Set-CsTeamsMeetingBrandingPolicy -Identity <Identity> -MeetingBrandingThemes $null -DefaultTheme "".
 To update the MeetingBrandingThemes, use the [Set]-CsTeamsMeetingBrandingPolicy cmdlet and pass the list of desired MeetingBrandingThemes created with the [New]-CsTeamsMeetingBrandingTheme cmdlet. Example:
 $exampleMeetingBrandingTheme = New-CsTeamsMeetingBrandingTheme -DisplayName "exampleTheme" -LogoImageLightUri "https://contoso.com/light.jpg" -LogoImageDarkUri "https://contoso.com/dark.jpg" -BackgroundImageLightUri "https://contoso.com/backgroundlight.jpg" -BackgroundImageDarkUri "https://contoso.com/backgrounddark.jpg" -BrandAccentColor "#000000" -Enabled $true -Identity "exampleTheme"
 And then set the themes using the Set cmdlet:
 Set-CsTeamsMeetingBrandingPolicy -Identity <Identity> -MeetingBrandingThemes @($exampleMeetingBrandingTheme) -DefaultTheme "exampleTheme"
 Use the same approach for removing elements from NdiAssuranceSlate, using the [New]-CsTeamsNdiAssuranceSlate cmdlet and then using Set-CsTeamsMeetingBrandingPolicy to properly set the values.
 This will be fixed in the next TPM version.
- Releases [New]-CsTeamsMeetingBackgroundImage cmdlet.
- Releases [New]-CsTeamsMeetingBrandingTheme cmdlet.
- Releases [New]-CsTeamsNdiAssuranceSlate cmdlet.
- Contains a new implementation of [New|Get|Set|Remove]-CsTeamsCallHoldPolicy, [New|Get|Set|Remove]-CsTeamsEmergencyCallingPolicy, [New]-CsTeamsEmergencyCallingExtendedNotification. Functionality remains the same as previous implementation.

Monday, December 19, 2022

Teams PowerShell Module 4.9.1 update

PowerShell Module 4.9.1 version has some new features and some bug fixes, check this out.


- Application-based authentication support in Connect-MicrosoftTeams in GA. More details at https://docs.microsoft.com/en-us/MicrosoftTeams/teams-powershell-application-authentication.

- Contains a new implementation of [New|Get|Set|Remove]-CsTeamsChannelsPolicy and [New|Get|Set|Remove]-CsTeamsUpdateManagementPolicy. Functionality remains the same as previous implementation.

- Adds UseNewTeamsClient parameter to TeamsUpdateManagementPolicy.

- Adds EnablePrivateTeamDiscovery parameter to TeamsChannelsPolicy.

- Fixes issues with authentication token not refreshing for some policy cmdlets.

- Fixes issues where the display format was broken for some cmdlets.

- Adds SipProxyAddress, TeamsMediaLoggingPolicy, CountryAbbreviation, UserValidationErrors, and WhenCreated attributes in Get-CsOnlineUser output when run without the -Identity parameter. Out of these attributes, CountryAbbreviation, UserValidationErros, and WhenCreated will not show any values yet.