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.
I was asked how easy it would be to write a PowerShell script to monitor new teams members and reject any additions that met specific criteria. Easy, we said, so we set to creating a script to interrogate the unified audit log to find new member events. Once that was done, it’s a matter of analyzing the events to find if we should reject the addition of any of the added members.
It’s possible to use PowerShell to create a report detailing the SharePoint Online site URLs used with Teams. My first attempt used the Exchange Online module, but is the Graph any faster? As it turns out, not really. At least, not for interactive sessions using the Microsoft Graph PowerShell SDK (things are different when running SDK code using a registered app). I tried several approaches, but Graph permissions got in the way every time.
A Teams unified picker for fun content is now available in the Teams 2.1 client. The new picker replaces the existing options to add GIFs and stickers. I’m sure this update will be important to some people, but I’m more impressed by the change to improve the performance and reliability of synchronizing calendar updates between Outlook (Exchange Online) and Teams. All available soon.
Teams channel meetings belong to a channel, but who receives the invitations for these meetings? The answer is “it depends” – on group settings and options. The underlying Microsoft 365 group might have a subscriber list of users who want to receive email for new events like meetings or the user might choose to send invitations to everyone. We discuss the mechanics and explore a way to schedule meetings in shared and private channels too.
Delayed until October 2023, the Teams Meet app will appear in the Teams 2.1 client to help users manage meetings more effectively. At least, that’s the plan. The app works well for internal meetings but its review capabilities are limited when you attend meetings hosted in another tenant. The Meet app will be beneficial in large organizations where people attend lots of meetings, but will might be less effective in smaller organizations. It’s worth looking at to decide if the Teams Meet app works for you.
Teams Premium Trial licenses are to be offered to end users in commercial tenants worldwide for self-service purchases from September 2023. I quite like some of the functionality available in Teams Premium, but I think organizations are better off using the “regular” Teams Premium trial licenses to run a test involving up to 25 users for 30 days. The results are probably going to be more indicative of the worth of Teams Premium than any individual test can be.
Microsoft announced on August 17 that they are not proceeding with the implementation of dark mode support in the Teams Admin center. The news came as a surprise, but it’s an indication of the lack of user interface consistency across the different Microsoft 365 administrative consoles. Token handling is another example. I can live without dark mode, but being forced to sign out by the Teams admin center is a pain.
A question about how to report specific changes to Teams memberships gave another excuse to use PowerShell with the unified audit log to deliver a solution. The idea is that you can check audit log entries to see when specific user accounts join the membership of Teams. Once you’ve found that data, it’s a simple matter of creating email to share the results. All done with a few lines of PowerShell…
Stream video playback in Teams chats and channels is now inline, meaning that the video plays direct without any need to call the Stream browser client. It’s a good update that makes watching Stream videos a very seamless experience. It would be nice if Microsoft can improve some other integration points where Stream and Teams touch because some of the other integration features don’t work so well. In other news, SharePoint Online is rationalizing how it stores user photos.
An update coming soon increases the channel limit for regular and shared channels to 1,000. That should be enough Teams channels for anyone. Then again, a case can be argued that 25 channels should be enough to organize discussions for any team. In any case, you’re going to have the opportunity soon to create channels to your heart’s content. That is, until you reach the 1000-channel; limit.
A new Maybelline video filters app allows Teams meeting participants to enhance their appearance during or before a meeting. 12 filters are available to apply AI-powered enhancements based on a 70-point map generated from a user’s face. It’s good if a filter helps you feel better about yourself when you join a call, but I can’t help thinking that maybe Microsoft could work on more important functionality?
Microsoft is making it easier for owners of Teams shared channels to request help if they run into a trust problem when adding a member from another domain. If Teams detects a problem with a missing trust, it flags the error to the channel owner and offers a link to a web page to seek additional support. Of course, the tenant might decline to trust the domain the channel owner wants to use, but that’s a different story.
Microsoft announced that they are rolling out a refresh for the Teams Admin Center search feature. Useful as it can be, TAC search can output odd results. That’s a pity because the TAC search feature would be a whole lot better if its results were less profuse and more reliable.
Microsoft released details about the deployment schedule for the new Teams client (2.1) on June 30, 2023. It looks like a lot of work to roll out the new Teams client will happen over the remainder of 2023. It seems like tenants can use the classic Teams client for at least until mid-2024, but soon there’ll only be one Teams client in use, and that’ll be Teams 2.1.
Security Researchers JumpSec demonstrated a weakness in Teams External Access by showing how to send malware to users via a federated chat. The exploit depends on another weakness in that attackers can interfere with the set of policy controls transmitted by the Teams server to clients. It’s yet another reason why Microsoft 365 tenants should restrict external access to the set of domains they really want to chat with.
Collaborative meeting notes are a preview feature available for Teams meetings which uses a Loop component composed of three other components to capture the agenda, notes, and task list for meetings. Because the feature is based on Loop. it inherits the goodness and problems of the technology (like no guest access). But overall, this is a nice solution that will go down well in large organizations that run many internal meetings.
Microsoft has announced that Teams now supports the Microsoft 365 targeted release mechanism, meaning that new Teams features should appear more consistently. The Teams preview program continues, but targeted release takes precedence. In other news, the Teams chat client in Windows 11 is being replaced by the Teams Free client. This probably won’t make much different, but it’s good to know.
Teams animated backgrounds add something to meetings. According to Microsoft, it’s “a dynamic animation for a more immersive virtual environment.” Based on the limited set of background animated released by Microsoft (which currently can’t be augmented by custom backgrounds), the effect might not be quite what you expect. In any case, animated backgrounds will please some and disappoint others, which is what happens in a very large service spanning over 300 million active users.
Microsoft 365 tenants using Teams group policy assignments to assign policies to user accounts now have a much larger range of policies to choose from, even if assignments can only be made through PowerShell for the moment. In other news, the Teams admin center now has support for dark mode, which is fine if you don’t customize the theme of a Microsoft 365 tenant.
Work locations are a new concept that OWA and Teams share in an attempt to make it easier for people to schedule meetings with knowledge of where participants are working from. It’s a nice idea but the implementation is sadly flawed because of a lack of flexibility in defining or customizing locations. Let’s hope Microsoft improves the feature in future.
Nearly seven years into the product’s existence, Teams offline meetings can now be scheduled through the Teams calendar, but only for Teams private meetings. Making it possible to set aside time for private commitments and in-person meetings is sensible and a good change. The only mystery is why it took so long to happen.
Microsoft plans to roll out the new Teams channels experience to commercial and GCC tenants in mid-June 2023 with GCC-High and DoD tenants getting the software in July. The new UI gives Teams channel conversations a visual makeover and adds some useful features like being able to pop out conversations and using Viva Topics in messages, Moving the compose box to the top of the screen takes a bit of getting used to, as does the way that Teams creates a focus on reading a conversation. Overall, the new UI is an incremental rather than a radical improvement, which is probably what people want.
Microsoft has announced the preview of the Teams payment app. The app can handle payments through Teams chats and meetings in the United States and Canada using services like Stripe, PayPal, and GoDaddy. We’ve got a Stripe account to handle payments for the Office 365 for IT Pros eBook, so we took the new app for a test run and it proved very easy to set up and use. The payments app should be very popular with small businesses.
New options to handle teams expiration and restoration are available in the Teams admin center. Having the options in the TAC is useful even if there’s no new magic involved because it’s possible to perform these operations using other Microsoft 365 consoles or programmatically with PowerShell or Graph API requests. Even so, because some teams administrators only ever use the Teams admin center, it’s good to have these options available there.
Teams Shared Channels are a great way to collaborate across multiple Microsoft 365 tenants. From an administrative side, it’s nice to know about who’s connecting – who’s coming into your tenant to use a Teams shared channel and who’s leaving your tenant to share ideas in a Teams shared channel belonging to another tenant. This article explains how to retrieve that information from Azure AD shared user profiles.
Microsoft introduced video messages in Teams chat in November 2022. Now they’ve added auto-generated captions and transcripts for the one-minute long clips. This allows people to read the content of video messages without having their audio on, which could be handy in noisy places. Despite the availability of the transcript, the compliance issues we pointed to last November still exist. That’s regrettable.
Teams meeting participants can now choose from 24 Snapchat Lenses as effects to apply to their video feed. It’s unclear how advantageous these lenses are to the efficient running of Teams meetings, but beauty is very much in the eye of the individual meeting participant. Some will find the Snapchat Lenses create a compelling effect. Others will be less positive. But across the 280 million monthly active Teams users, there’s bound to be some who absolutely love these effects.
A Teams profanity filter is available to detect offensive and profane words used in Teams meetings and captured in live captions. The effectiveness of the filter and its ability to mask bad words depends on many factors, including microphone quality. I can see the Teams profanity filter being popular in education settings, but maybe less so in the more red-blooded corporate world. It’s a personal choice!
Microsoft has made a preview version of the new Teams client available to commercial tenants worldwide. The preview runs only on Windows and isn’t yet available in browser sessions. Some functionality is missing because it’s incomplete but the new client is faster and snappier than the classic Teams client. To use the preview, you’ll need to enable the new client through a Teams update policy.
Microsoft has overhauled the Teams Files App as part of its work to refresh the Teams client UI. We’re still waiting to know about the new channels experience which is supposed to appear at around the same time. This work will refresh and enhance the Teams V1 client while also appearing in the Teams V2.1 client that’s expected to be available in preview soon.
The Teams green screen effect allows people to select a uniform backdrop to apply effects upon using fewer system resources and achieving a cleaner output. Not everyone has a suitable backdrop, so I used the wall behind my desk to see what the Teams green screen effect could do with it. And although some imperfections resulted from the lack of uniformity for the wall, you can still see how this will be a useful feature. That is, if you use a proper backdrop!
Microsoft continues to improve the sound quality available in Teams meetings with support for spatial audio and ultrasound howling detection (feedback echo). Spatial audio depends on the right equipment and aims to help you know who’s speaking in a meeting. Howling detection means that Teams detects when multiple people in a physical room join a meeting and suppresses audio to avoid a feedback loop.
Teams now displays People Insights on the User Profile card. The insights come from LinkedIn and Viva Insights and are intended to keep people informed. The user profile card already includes lots of information and it’s debatable whether knowing when birthdays come around for your LinkedIn contacts adds much value. As always. beauty is in the eye of the beholder.
A new setting in the Teams meeting policy allows Microsoft 365 tenants to dictate that meetings organized by some or all users must gain explicit consent from users before they can be recorded. The new control is intended to help address privacy concerns that some users might have. This article describes how to apply the policy setting and its impact on meeting participants.
Teams bulk policy assignment options include two features in the Teams admin center, batch jobs, Azure Automation and plain-old PowerShell. In this article, we examine the options in the Teams Admin Center to revert policy assignments back to the global (default) policy and a way to perform Teams bulk policy assignments for selected accounts. And we mention the other methods that exist which don’t involve the Teams admin center.
Microsoft 365 pronouns for display in apps like Teams and OWA can now be enabled on a tenant-wide basis. Displaying pronouns is a topic that can cause strong feelings for some, so organizations should take their time and plan an implementation before rushing to deployment.
Microsoft is dropping lots of hints to the press about the imminent arrival of the new Teams client (V2.1), due to arrive in public preview in late March 2023. According to reports, the new Teams client will deliver better performance while using 50% less memory and making fewer demands for CPU. It all sounds great. With the new client coming into sight, it’s time to prepare Teams update policies to make sure that the right users get the new software at the right time.
Version 5.0 of the Microsoft Teams PowerShell module contains a major overhaul for the Get-CsOnlineUser cmdlet, which receives better filtering capabilities. The overhaul is part of Microsoft’s ongoing efforts to modernize and enhance the cmdlets inherited from the Skype for Business Online connector. Although there’s still work to do to fix some glitches, the update is welcome.
On April 12, 2023, Microsoft will retire the original version of Teams free introduced in 2018. If you want to stay using a free version, Microsoft has Teams for Home. However, the functionality isn’t the same and there’s no migration tools available to move from one platform to the other. In this kind of situation, it might just be time to bite the bullet and pay for Teams.
Mesh avatars are a new visual way for people to participate in Teams meetings. A mesh avatar is a 3D representation of a person used instead of a video image. Some will consider the notion of using an avatar in a meeting abhorrent, but it’s really not that bad and can be very useful at times. Using avatars is an intensely personal decision. For some, it might be their first step into the metaverse. For others, it could be their last (until something better comes along)…
{"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}