Microsoft Teams is Microsoft’s team collaboration solution. The Office 365 for IT Pros eBook includes over 300 pages dedicated to Teams, and we cover the topic extensively on the site.
Microsoft makes a 30-day Teams Premium trial license available to allow customers to test the premium features. Once the trial finishes, it’s a good idea to clean up and remove the Teams Premium trial licenses from the Azure AD accounts that participated in the trial, especially as the trial license has the same display name as the paid-for Teams Premium license. You can accomplish the task through the Microsoft 365 admin center, but we explain how to do the job with PowerShell too. The same technique works to remove any specific license from a set of user accounts.
Teams Premium is now generally available. Not all its features are online yet, but Teams meeting templates are, so we tested them to see if they help users to organize better meetings. After playing around with templates, including the optional use of sensitivity labels to control template settings, we conclude that this is a nice feature to have but maybe not one that will influence the buying decision for Teams Premium.
Every thirteen weeks, Microsoft shares some numbers as part of its quarterly results. The FY23 Q2 data included a new Teams user number (280 million monthly active users) and some clues that Office 365 is approaching 400 million paid seats – or maybe active users. You can never quite tell from the data Microsoft releases. One thing’s for sure. The cloud market is slowing in line with the general economy, which means that Microsoft needs to extract more money from each user to offset the slowdown in seat growth.
Microsoft has introduced a set of visual effects for Teams meetings. The Teams video effects are a set of styles and filters that apply to (augment) an existing video stream. It’s a cute idea that will mean a lot more to some users than others. You can stop people using Teams video effects by blocking the Custom Filters app in the Teams admin center. But that might be a pity because everyone deserves a little levity in life.
The Microsoft 365 Groups Report (membership of groups and teams) originally used the Azure AD and Exchange Online PowerShell modules. Now its code uses only cmdlets from the Microsoft Graph PowerShell SDK. It’s an example of the kind of update that many organizations are going through due to the upcoming deprecation of the Azure AD and MSOL modules.
Microsoft expects the Teams Premium license to be generally available in February 2023. In advance, Microsoft confirmed that they will move four features from the set covered by the Teams standard license to Teams Premium. In reality, this probably won’t affect many users, but does Microsoft really have to do this and run the risk of offending some people by demanding extra for features they use today?
Teams external federation allows users to chat with people in other Microsoft 365 tenants. External participants can see presence data unless you suppress it by running the Set-CsPrivacyConfiguration cmdlet to put the tenant into “privacy mode.” The policy affects everyone in the tenant and there’s no way to apply privacy mode to selected users.
Microsoft is adding the @Everyone mention to Teams group and meeting chats. Using @Everyone highlights a message to all chat participants by notifying them through their activity feed (dependent on user settings). It’s a feature similar to the @Team and @Channel mentions available for channel conversations. Not a huge advance, but welcome none the less.
Teams holiday data define when users of the Teams phone system might not be at work and alternative calling arrangements exist. It’s easy to update holiday data using the Teams admin center, but it’s also easy to write a PowerShell script to update Teams about new holiday events on an ongoing basis. All explained here!
Microsoft is making 30-day trial licenses available to customers to test Teams Premium functionality with up to 25 users. Given the short test period that’s available, we suggest that organizations put the idea to one side until after the holidays are over. You can come back in 2023 and do some in-depth testing to find out if Teams Premium is worth the $10/user/month price tag.
On December 5, Microsoft announced a new Adobe Integration with Teams for PDF files stored in SharePoint Online and OneDrive for Business. The new integration uses an Azure AD enterprise app to link Teams to the Adobe Document Cloud. The new integration can’t handle protected PDFs, but you can always use a browser to view those files.
A new feature allows people to add participants to Teams group chats through @mentions in the compose box. It’s a nice feature that should have been there a long time ago. Microsoft says that adding new group chat participants this way saves a whole two clicks over the old way. Will those two clicks make any difference to you?
A new setting in the Teams feedback policy controls the display of the Suggest a Feature option in the Teams help menu. It’s up to an organization to decide how they want users to communicate with Microsoft. The Teams feedback policy gives that control, if you want to use it.
A policy setting called RestrictTeamsSignInToAccountsFromTenantList is available to restrict the ability of Teams desktop clients to connect to Azure AD tenants. It’s a fact that floated under our radar for a while, but now that we know about it, we’re telling you too. Of course, you probably knew about this capability anyway, but someone probably didn’t!
Microsoft has released the Teams Games for Work app to enterprise and education tenants. The intention is to bring people together through game play. The technology in the game isn’t very different to anything we’ve seen before and the games are OK, even if it’s slightly weird to play them in a Teams meeting. The question is, is an app like Games for Work needed? If not, it’s easy to block the app.
The Teams Delete chat option allows people to remove chats from their chat list. It’s a nice way to restore some order to a list that can be very cluttered with long-dead chats. Some subtle differences exist between leaving a chat and deleting a chat that you might need to explain to users before deploying the feature, which is controlled by a setting in the Teams messaging policy.
Microsoft Teams doesn’t come with a Teams Directory, so it’s hard to know if a suitable team already exists when people ask for a new team. This fact contributions to teams sprawl where multiple teams exist to serve the same purpose. Teams sprawl creates an obstacle to effective collaboration and runs the danger that some important information is tucked away inside teams that no one ever goes near. Creating a Teams Directory helps team owners and users know what teams already exist inside a tenant. It’s an idea that just makes sense.
Message center notification MC454809 announces that Microsoft will deploy a new Teams Webinars experience to tenants at the end of November with worldwide availability complete in early December. The new Teams Webinars experience is based on customer feedback and addresses issues like branding, registration control, and scalability. A new Teams events policy is available to control who can create webinars.
This article explains how to make Teams policy assignments using an Azure Automation runbook and some of the modernized cmdlets available in the Teams PowerShell module. Not everything worked as smoothly as we’d like, but like most PowerShell scenarios, there’s usually a workaround available to get the job done. It just needs to be found.
The new Teams Premium product ($10/.user/month) and Outlook both claim that they will support sensitivity labels and a meeting recap. That’s confusing, especially if Outlook delivers the features at no cost. However, when you look into the matter a little deeper, it’s obvious that what Teams Premium will deliver is very different to what you can expect to see in Outlook. All of which proves why it’s important to read announcements carefully and put them into context with what you already know about how products work.
Before an app or an Azure Automation account can use the Teams PowerShell cmdlets in a script or runbook, it must have the permission to act as an administrator. In this article, we cover how to assign the necessary role to a service principal.
Teams clients now have an unread only toggle for the activity feed. The toggle hides previously read notifications to highlight messages awaiting attention by the user. Apart from hiding work you’ve already done, the toggle might just surface some items you haven’t yet taken care of.
Teams meeting participants can open Excel workbooks through the Share Tray and collaborate with everyone in the meeting through Excel Live. The new feature builds on several existing capabilities, including co-authoring and autosave for Office documents and it’s a useful addition to how people can work together during online meetings. The only thing to remember is that all the workbooks used by Excel Live need to be in OneDrive for Business, but that shouldn’t be a big issue.
Teams video messages are clips of up to 1 minute in length that can be sent in 1:1, group, and meeting chats. They’re a powerful way to deliver a message to chat participants, but they come with a downside in that support for eDiscovery is poor. But that’s not a reason to eschew their usage. Who doesn’t like receiving video messages from their closest friends?
The Teams scheduled send feature allows users to set a time when Teams will deliver chat messages. The feature works for Teams enterprise and consumer users. It isn’t available for channel conversations. If you’re used to the delayed send feature in OWA and Outlook, you’ll know the value of being able to schedule a message to arrive at the most appropriate time!
According to notifications sent by Microsoft to customers that have users of the Teams Linux client, Microsoft plans to retire the client in early December and replace it with a progressive web app (PWA). The news is not unexpected. The Teams Linux client has always lagged its Windows and macOS counterparts and was buggy to boot.
Instead of being limited to five emojis to express reactions to Teams chat and channel messages, Microsoft is making over 800 emojis available as expanded reactions. Whether this will make any difference to the way anyone uses Teams is entirely personal. For me, I think I shall remain content by using the limited set available to date because it’s just too much hard work to choose from over 800 options.
Viva Engage Storyline is a new way of posting information to Yammer. Instead of posting to communities, people can post to their personal storyline, with the aim of fostering better communication and creating their personal brand. Storyline works in both the Viva Engage app in Teams and the traditional Yammer browser UI. It’s a nice way to post stuff when you don’t have a good home for the information, but I do have a nagging doubt that storyline is just another way to share information inside Microsoft 365, which is exactly what’s needed.
Every time someone reacts to a message in a team chat or channel conversation, Teams captures an audit record and sends it to the Office 365 audit log. The Teams reactions audit records are an interesting source of information. In this article, we show how to use PowerShell to interpret the contents of the reactions, and how to use the data to find the underlying messages.
No Teams administration policy controls the creation of regular channels. Policies are there to control the creation of shared and private channels, but not the regular variety. Team owners can restrict creation on a team-by-team basis, but if organizations want to apply central control, they’ll need to do it with PowerShell.
Some recent announcements have shown Yammer’s new direction. The Communities app is now Viva Engage and Teams Meeting Q&A app is powered by Yammer. That’s all good because it negates some of the tension between Teams and Yammer in terms of positioning within Microsoft 365. The messages that make up Q&A in Teams meetings are captured for compliance purposes, and that’s also a good thing.
No Microsoft 365 admin portal will tell you about the set of email addresses assigned to Teams channels. Fortunately, it’s relatively easy to create a report with PowerShell and just a little Graph magic.
A new feature allows Teams users to start new group chats by adding participants from the membership of distribution lists, Microsoft 365 groups, or mail-enabled security groups. It’s a neat way to add up to 249 participants to a new group chat. And while we’re covering the topic of adding people to group chats, we also mention the oft-overlooked feature that allows Teams tags to be used for this purpose.
In this article, we explain how to create a report about the Teams private channels found in a tenant together with the members and owners of each channel. The PowerShell script is relatively straightforward and once the data is extracted from Teams, it can be sliced and diced in different ways.
The Get-AssociatedTeam cmdlet is part of V4.6 of the Microsoft Teams PowerShell module. It reports the membership a user account has in teams, including where the account has direct membership of shared channels. The cmdlet makes it easy to generate a report of teams membership, and the PSWriteHTML module makes it easy to output nice PDF reports.
This article explains how to populate the membership of a Teams shared channel using PowerShell. The idea is to create a shared channel that’s used for organization-wide communications, like a HR questions and answers channel. Alternatives like using a dynamic Azure AD group with a filter to find Teams users are also considered.
Version 4.6 of the Microsoft Teams PowerShell module includes the Get-TeamAllChannel cmdlet. As the name implies, the cmdlet returns details of all channels in a team (regular, private, and shared). To see what it does, we wrote a script to report all the channels in teams in a tenant.
The Teams Files policy gives a way for administrators to control if users see the Teams Files tab in every channel and Teams chat, and if they can access OneDrive and SharePoint to upload files. The policy exists for organizations that have standardized on other file storage systems such as Box or Dropbox.
In a July 12 announcement, Microsoft says that they will restrict the use of Exchange Web Services to access Teams message data from September 30. Microsoft wants customers to use the Teams Export API instead. All that’s fine, but it means that customers have to change their Teams backup product to one that uses the new API – and they’ll be charged for the privilege of using the Export API.
Microsoft has improved the functionality of the Teams Files channel tab since its introduction. The most recent update adds SharePoint’s Grid View and Details pane, and the net effect is that the Files channel tab is now almost as functional as the SharePoint browser interface.
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}