[PowerShell] GA of PowerShell Crescendo

Hello everyone,

GA of PowerShell Crescendo has been announced yesterday.

If you didn’t heard about Crescendo, it is a « a development accelerator enabling you to rapidly build PowerShell cmdlets that leverage existing command-line tools. »

The GA includes these keys features :

  • Define cmdlets from simple key/value statements in a JSON file
  • Support for modular design – cmdlet definitions can be in a one or more JSON files
  • A JSON schema that helps you create your Crescendo configuration using IntelliSense and tooltips
  • Three styles of output handling code allowing you to separate your code from the cmdlet definitions for easier debugging and development
  • Privilege elevation mechanisms in WindowsLinux, and macOS
  • Crescendo generates a PowerShell script module ready for deployment
  • While Crescendo requires PowerShell 7 or higher for authoring configurations, the generated module can run on Windows PowerShell 5.1 and higher
  • Example configurations for you to copy and reuse
  • Experimental Help parsers that provide proof-of-concept examples for auto-generating cmdlet configurations

For more information about Crescendo :

[PowerShell – Teams] Get all teams a user is member of

Hello everyone,

I recently needed to get a list of all Microsoft Teams a particular user was member of. First, I thought that I was going to need loops in order to loop in every single MS Teams of the tenant. But after reading the documentation, I found the parameter User on the cmdlet Get-Team that can be use to list all the Teams a user is member of 🙂

Connect-MicrosoftTeams
Get-Team -User "[email protected]"

[PowerShell – EXO] Get all members and permissions of Shared Mailboxes

I recently needed to get a list of all Exchange Online Shared Mailboxes members and permissions.

Here is how to do it :

Connect-ExchangeOnline

Get-Mailbox -RecipientTypeDetails SharedMailbox -ResultSize:Unlimited | Get-MailboxPermission |Select-Object Identity,User,AccessRights | Where-Object {($_.user -like '*@*')}

Here is the results that you’ll have :

[PowerShell – Teams] Get all guests from all Teams

Hello everyone,

I recently needed to show to a client that he had lost control of the number of « external » teams he has and all the guests he had too.

I didn’t need to export the output, just to show him on the screen so the script I’m gonna show you is pretty simple and is can be optimized by exporting a clean output to a CSV or XML.

$Teams = Get-Team

foreach ($Team in $Teams) {

$Guests = Get-TeamUser -GroupID $Team.groupId | Where-Object {$_.Role -eq "Guest"}
Write-Output "Team : $($Team.DisplayName)"
Write-Output "Members : "
$Guests

}

[PowerShell] Installer le module AzureAD

Dans le cadre de vos scripting PowerShell MS365, il vous sera nécessaire d’utiliser le module Azure AD (ajout d’utilisateurs, modification d’attributs utilisateurs, attribution de licences, …).

Pour ce faire, lancez une console PowerShell en tant qu’administrateur et entrez la commande suivante :

Install-Module AzureAD

Si c’est la première fois que vous installez un module, vous devrez installer le fournisseur NuGet comme vous le verrez sur la capture d’écran ci-dessous.

Pour valider l’installation du module AzureAD, saisissez la lettre T (ou A si votre OS est en anglais) et appuyez sur Entrée.

 

[PowerShell] Désactiver la boîte aux lettres prioritaire pour tout le monde

J’ai rarement des entreprises qui souhaitent conserver le paramètre « Boîte aux Lettres Prioritaire » d’Outlook activé par défaut lors d’un déploiement ou d’une migration vers Exchange Online.

Afin de ne pas avoir à faire cela utilisateur par utilisateur, ou de leur demander de le faire, je vous recommande de réaliser cette configuration pour toute l’organisation, en utilisant PowerShell.

Pour ce faire, lancez une console PowerShell et exécutez les commandes suivantes :

Connect-ExchangeOnline
Set-OrganizationConfig -FocusedInboxOn $false
Le module ExchangeOnlineManagement est nécessaire pour exécuter cette commande

Pour vérifier que la configuration a bien été prise en compte, vous pouvez entrer la commande ci-dessous :

Get-OrganizationConfig

Assurez-vous que l’entrée en fasse de FocusedInboxOn est bien à False.

 

Propulsé par WordPress.com.

Retour en haut ↑