PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

Build 2021 : vers un Windows plus ouvert pour les développeurs ?

jeudi 27 mai 2021 à 09:18

À l'occasion de la conférence Build 2021, Satya Nadella, le PDG de Microsoft, a pris la parole pour évoquer le futur de Windows et nous mettre l'eau à la bouche. Il parle d'un Windows plus ouvert pour les développeurs et les créateurs. Bien sûr, tout cela est encore flou pour le moment.

Quand Satya Nadella parle de cette nouvelle version de Windows, voici ce qu'il dit : "Je la teste depuis plusieurs mois, et je suis incroyablement excité à propos de la prochaine génération de Windows.". Le problème, c'est qu'il reste vague sur cette prochaine génération de Windows.

Néanmoins, on sait que Microsoft réfléchit depuis quelque temps à la restructuration du Microsoft Store. Il est vrai que le magasin d'applications de Windows n'est pas vraiment une réussite. À l'avenir, Microsoft devrait lui donner une place beaucoup plus importante dans son OS, et cela nécessite d'avoir un Store plus ouvert. Par exemple, cela pourrait permettre à n'importe quel développeur de proposer une application, grâce à l'introduction de conditions d'utilisation plus souples sur le Microsoft Store. D'ailleurs, le PDG de Microsoft précise que "[nous, Microsoft] accueillerons tous les créateurs qui cherchent la plateforme la plus innovante, ouverte et nouvelle pour bâtir, distribuer et monétiser leurs applications".

Forcément, si le Microsoft Store est plus complet qu'aujourd'hui, on aura plus envie de l'utiliser... Néanmoins, attention à ne pas tomber dans l'excès.

Ce qui serait bien, c'est qu'à l'avenir il y ait un peu moins de bugs suite à l'installation des mises à jour mensuelles, mais ça le PDG de Microsoft n'en a pas parlé 😁.

Comme le précise The Verge et Clubic, Satya Nadella a bien parlé de "Windows" et non de "Windows 10" : un détail qui a de l'importance visiblement, car le PDG de Microsoft est habitué à être très précis dans ses déclarations. Est-ce que cela signifie que Microsoft va marquer le coup en donnant un nouveau nom à la place de Windows 10 ? Et si l'abandon de Windows 10X permettait à Microsoft de réutiliser ce nom d'ici quelque temps pour ce fameux système plus ouvert ? Et si finalement Windows 10 n'était pas le dernier Windows ? L'avenir nous le dira... Stay connected.

Source

The post Build 2021 : vers un Windows plus ouvert pour les développeurs ? first appeared on IT-Connect.

Windows Package Manager 1.0 : la première version stable est disponible !

jeudi 27 mai 2021 à 08:40

Microsoft a publié la première version stable de Windows Package Manager alias WinGet dans le but de vous permettre d'installer des logiciels en ligne de commande sous Windows 10 !

De la même façon que les autres gestionnaires de paquets, que ce soit sous Windows ou Linux, WinGet va permettre de faciliter l'installation automatisée de logiciels, mais aussi la configuration, la mise à jour et la désinstallation de ces applications. La désinstallation fonctionne également dans le cas où l'application n'a pas été installée directement avec WinGet.

Cet outil n'est pas sans rappeler Chocolatey, un gestionnaire de paquets pour Windows qui est disponible depuis quelques années et qui est vraiment excellent ! D'ailleurs, ce sera intéressant de voir si WinGet parvient à se faire une place malgré la présence de Chocolatey.

WinGet est proposé sous la forme d'un projet open source disponible sur Github et Microsoft l'avait annoncé à l'occasion de la conférence Microsoft Build 2020. Après un an de développement et à l'occasion de la conférence Microsoft Build 2021 cette fois-ci, Microsoft a annoncé la sortie de WinGet 1.0. Le mois dernier, Microsoft avait également diffusé les fichiers ADMX pour gérer WinGet.

Pour le moment, voici la liste des commandes intégrées à WinGet :

install : installer un paquet
show : afficher les informations sur un paquet
source : gérer les sources pour les paquets
search : rechercher un paquet
list : lister les paquets installés
upgrade : mettre à jour un paquet
uninstall : désinstaller un paquet
hash : obtenir le hash d'un fichier d'installation
validate : valider un fichier manifest
settings : ouvrir les paramètres (fichier JSON)
features : voir le statut (actif ou non) des fonctions expérimentales
export : exporter une liste des paquets installés
import : installer tous les logiciels à partir d'une liste (fichier)

Pour télécharger WinGet, vous pouvez accéder au GitHub officiel de Microsoft mais vous devriez pouvoir le trouver également dans le Microsoft Store (d'ici quelques jours).

Je vous invite à prendre connaissance de ma vidéo sur WinGet (réalisée avec la version preview mais toujours valide), ainsi que de mon tutoriel WinGet et pourquoi pas le tutoriel Chocolatey, si le sujet vous intéresse.

The post Windows Package Manager 1.0 : la première version stable est disponible ! first appeared on IT-Connect.

USB-C 2.1 : quelles sont les nouveautés ?

mercredi 26 mai 2021 à 18:30

La nouvelle version de l'USB-C vient d'être dévoilée par l'USB-IF mais quelles sont les nouveautés apportées par l'USB-C 2.1 ? Réponse dans cet article.

L'USB Implementers Forum (USB-IF) a dévoilé les nouvelles spécifications des câbles et des connecteurs USB-C, pour la version 2.1. Grâce à cette nouvelle version, l'alimentation électrique passe de 100 Watts à 240 Watts ! Une très bonne nouvelle, car les appareils gourmands vont pouvoir être alimentés par USB-C : un grand pas vers le chargeur USB-C universel ? En tout cas, cela va permettre d'alimenter certains écrans 4K et ordinateurs portables pour gamers. On peut citer également le dernier iMac qui nécessite un peu plus de 140 Watts.

Cette amélioration se situe au sein de la norme USB Power Delivery qui permet de recharger un appareil par USB. Désormais, l'USB-C 2.1 va permettre l'utilisation du mode Extended Power Range. Ce qui permet de passer de 20 V à 48 V/5A et de délivrer au total 240 Watts.

Reste à savoir comment pourra-t-on différencier un câble USB-C Power Delivery compatible 240 Watts, d'un câble plus classique. Actuellement, il y a 5 profils de câbles différents qui permettent de supporter différentes puissances : 10W, 18W, 36W, 60W et 100W.

Quoi qu'il en soit, les chargeurs sont dits "intelligents" : l'énergie est délivrée en fonction de ce que peut supporter l'appareil qui est connecté. Autrement dit, le chargeur ne va pas griller votre smartphone ou votre paire d'écouteurs si elle ne supporte pas la charge 240 Watts. De toute façon, cela fonctionne déjà comme ça aujourd'hui.

Enfin, l'USB-C 2.1 va permettre de transférer une plus grande quantité de données. Par exemple, il est capable de supporter la sortie de trois flux vidéos 8K en 120 Hz, simultanément bien sûr. Bon, il faut déjà avoir le PC et les écrans qui vont bien.

Source

The post USB-C 2.1 : quelles sont les nouveautés ? first appeared on IT-Connect.

Comment générer un rapport des équipes Teams avec PowerShell ?

mercredi 26 mai 2021 à 13:00

I. Présentation

Dans ce tutoriel, nous allons utiliser PowerShell pour générer un rapport complet sur les équipes Teams de votre tenant Office 365 : liste des équipes, des canaux, des propriétaires, du nombre de membres, etc.

Depuis plus d'un an maintenant, Microsoft Teams est devenu un outil incontournable pour de nombreux établissements scolaires et de nombreuses entreprises. Néanmoins, savez-vous combien il y a d'équipes Teams sur votre tenant Office 365 ? Savez-vous qui sont les propriétaires des équipes Teams ? Connaissez-vous la liste des canaux présents dans chaque équipe Teams ? Est-ce qu'il y a des équipes Teams qui contiennent des invités ? Etc... Tout autant de questions que l'on peut se poser.

Je vous propose de créer un script PowerShell qui va nous permettre de générer un rapport Teams (dans un fichier CSV) avec les informations suivantes :

Si vous êtes prêt, on va commencer à scripter... J'en profite pour mentionner ces deux articles qui pourraient vous intéresser :

➡ Comment gérer ses équipes Teams avec PowerShell ?

➡ Comment créer des équipes Teams en masse ?

II. Prérequis

Pour exécuter ce script, vous avez besoin de PowerShell bien sûr, mais surtout de deux modules PowerShell spécifiques :

Install-Module -Name ExchangeOnlineManagement
Install-Module -Name MicrosoftTeams

Nous allons exploiter des commandes de ces deux modules. Il faudra ensuite initier une connexion sur ces deux services à l'aide d'un compte Administrateur du tenant Office 365 :

Connect-ExchangeOnline
Connect-MicrosoftTeams

III. Script PowerShell - Rapport Teams

Nous allons y aller par étape pour que vous puissiez bien comprendre ce que l'on fait, et en fin d'article je vais vous mettre le code complet du script PowerShell.

A. Récupérer la liste de toutes les équipes Teams

Notre point de départ, ce sera la liste de toutes les équipes Teams du tenant que l'on va stocker dans la variable $TeamList. On gardera seulement deux propriétés : le nom d'affichage de l'équipe (DisplayName) et l'identifiant unique (GroupID)

$TeamList = Get-Team | Select-Object DisplayName,GroupID

Pour ma part, j'ai quatre équipes :

B. Une boucle Foreach pour traiter chaque équipe Teams

Pour chaque équipe contenue dans $TeamList, nous allons devoir récupérer des informations. Du coup, on va utiliser une boucle Foreach pour traiter chaque ligne de l'objet $TeamList.

Foreach ($Team in $TeamList)
{
 <traitement>
}

Maintenant, nous allons remplir la partie "<traitement>" pour récupérer les informations que l'on souhaite. Pour commencer, on peut déjà stocker en variable le nom de l'équipe et l'identifiant unique : deux informations que l'on connaît déjà.

# GUID Equipe
$TeamGUID = $($Team.GroupId).ToString()

# Nom de l'équipe
$TeamName = $Team.DisplayName

C. Date de création de l'équipe Teams

Dans la variable $TeamCreationDate, nous allons stocker la date de création de l'équipe Teams. Pour récupérer cette information avec PowerShell, il faut ruser un petit peu... Lorsqu'une équipe Teams est créée, il y a un groupe unifié Office 365 qui est créé automatiquement (et un site SharePoint aussi, d'ailleurs).

Grâce à la commande Get-UnifiedGroup et au GUID de l'équipe Teams, on va pouvoir récupérer la valeur de la propriété WhenCreated : elle contient la date et l'heure de création de ce groupe, et donc de l'équipe. Il y a une alternative, récupérer la date et l'heure au format UTC, dans ce cas il faudrait utiliser "WhenCreatedUTC".

# Date de création de l'équipe
$TeamCreationDate = Get-UnifiedGroup -Identity $TeamGUID | Select -ExpandProperty WhenCreated

D. Liste des canaux de l'équipe Teams

Seconde information que l'on va récupérer : la liste des canaux de l'équipe Teams. Cette fois-ci, c'est le cmdlet Get-TeamChannel que l'on va utiliser et on va cibler l'équipe grâce à son identifiant unique. On récupérera seulement le nom d'affichage de chaque canal.

Voici comment obtenir cette information et la stocker dans $TeamChannels :

# Canaux de l'équipe
$TeamChannels = (Get-TeamChannel -GroupId $TeamGUID).DisplayName

E. Liste des propriétaires de l'équipe Teams

Pour récupérer la liste des propriétaires de l'équipe, on va utiliser Get-TeamUser. Cette commande permet de lister aussi bien les propriétaires, que les membres et les invités. Ce qui nous oblige à appliquer un filtre supplémentaire sur la propriété "Role" qui est égale à "Owner" lorsqu'il s'agit d'un propriétaire.

# Propriétaires de l'équipe
$TeamOwner = (Get-TeamUser -GroupId $TeamGUID | Where{$_.Role -eq 'Owner'}).User

F. Nombre de membres dans l'équipe Teams

Toujours avec le même cmdlet, nous allons pour récupérer le nombre de membres présent dans l'équipe Teams. J'ai pris la décision de seulement compter le nombre de membres plutôt que de récupérer la liste nominative, mais c'est possible aussi.

Cette fois-ci, le filtre "Role" doit être égal à "Member" et on s'appuiera sur Count pour compter le nombre de membres. De cette façon, nous ne comptons pas les propriétaires dans la liste des membres.

Nous ajoutons une condition "if" pour tester la variable $TeamUserCount qui contient le nombre de membres. Si elle est nulle, c'est-à-dire qu'il n'y a pas de membre dans l'équipe, on force la valeur à 0. C'est un cas de figure possible.

# Nombre de membres dans l'équipe
$TeamUserCount = (Get-TeamUser -GroupId $TeamGUID | Where{$_.Role -eq 'Member'}).Count
if ($TeamUserCount -eq $null){ $TeamUserCount = 0 }

G. Liste des invités de l'équipe Teams

Pour récupérer la liste des invités de l'équipe Teams, toujours sur le même principe sauf que le filtre "Role" doit être égal à "Guest". Pour les invités, je pense que c'est intéressant d'obtenir la liste, cela permettra de voir s'il y a des adresses un peu suspectes dans les invités.

Au-delà du rôle, lorsqu'un utilisateur est membre d'une équipe en tant qu'invité, la propriété "User" n'est pas égale à son adresse e-mail, mais la valeur est formée d'une manière spécifique puisqu'elle contient "#EXT#". Par exemple, pour l'invité "teams@it-connect.fr", cela donne : teams_it-connect.fr#EXT#@itctech.onmicrosoft.com

Finalement, nous n'avons pas besoin de "#EXT#@itctech.onmicrosoft.com" dans la sortie, alors je vous propose que l'on découpe la valeur pour récupérer uniquement ce qui est avant le premier "#". Pour découper la valeur, on va utiliser la méthode Split() et une boucle Foreach pour traiter chaque ligne, c'est-à-dire chaque compte invité. Ce qui donne :

(Get-TeamUser -GroupId $TeamGUID | Where{$_.Role -eq 'Guest'}).User | Foreach{ $_.Split("#")[0] }

Pour éviter d'avoir une erreur sur la méthode Split() dans le cas où il n'y a pas d'invité dans l'équipe, on va ajouter une condition if : on applique la modification sur la chaîne avec Split() seulement si le résultat de Get-TeamUser n'est pas null après avoir subi notre filtre (Where).

(Get-TeamUser -GroupId $TeamGUID | Where{$_.Role -eq 'Guest'}).User | Foreach{ if($_ -ne $null){ $_.Split("#")[0] } }

La valeur :

teams_it-connect.fr#EXT#@itctech.onmicrosoft.com

Devient :

teams_it-connect.fr

On pourrait remplacer "_" par "@" pour obtenir l'adresse e-mail, mais si l'adresse e-mail d'origine contient déjà "_" on risque de se retrouver avec une adresse e-mail... Bizarre 😁.

Ce qui donne la variable $TeamGuest :

# Liste des invités de l'équipe Teams
$TeamGuest = (Get-TeamUser -GroupId $TeamGUID | Where{$_.Role -eq 'Guest'}).User | Foreach{ if($_ -ne $null){ $_.Split("#")[0] } }
if ($TeamGuest -eq $null){ $TeamGuest = 0 }

La condition "if" qui termine le bloc de code ci-dessus va permettre de définir la valeur à 0 dans le cas où il n'y a pas d'invité dans l'équipe.

H. Type d'accès à l'équipe

Certaines équipes sont ouvertes, c'est-à-dire que n'importe qui dans l'organisation peut rejoindre l'équipe, tandis que d'autres sont privées : il faut être ajouté par un propriétaire. Lorsque l'on modifie une équipe, cela correspond à ce champ :

C'est ce que nous allons indiquer comme information dans notre variable $TeamGroupAccessType. Cela tombe bien, la commande Get-UnifiedGroup permet d'obtenir cette information avec sa propriété AccessType.

# Type d'accès à l'équipe Teams
$TeamGroupAccessType = (Get-UnifiedGroup -identity $TeamGUID).AccessType

I. Créer un objet personnalisé pour l'équipe Teams

Nous avons toutes les informations dont on a besoin, il ne reste plus qu'à créer un objet personnalisé : il y aura un champ correspondant à chaque valeur. L'objectif étant de construire notre objet et ensuite d'exporter les valeurs dans un fichier CSV.

La collection d'objets $TeamListReport va contenir un objet personnalisé pour chaque équipe Teams de notre tenant Office 365. Au final, dans l'export CSV nous aurons une ligne par équipe Teams.

# Générer un objet pour cette équipe (cumulatif)
$TeamListReport = $TeamListReport + [PSCustomObject]@{
                                         TeamName = $TeamName;
                                         TeamCreationDate = $TeamCreationDate;
                                         TeamChannels = $TeamChannels -join ', ';
                                         TeamOwners = $TeamOwner -join ', ';
                                         TeamMemberCount = $TeamUserCount;
                                         TeamAccessType = $TeamGroupAccessType;
                                         TeamGuests = $TeamGuest -join ',';
                                     }

Lorsque l'on a "TeamName = $TeamName", il faut savoir que le nom de la colonne dans le CSV ce sera "TeamName" et la valeur correspondra à $TeamName. Tout ça pour vous dire que vous pouvez facilement renommer les colonnes.

Autre précision, quand nous avons " -join ', ' ", cela permet de fusionner les lignes en une seule. Par exemple, s'il y a deux canaux "Général" et "Projet1", au lieu d'avoir la valeur sur deux lignes, nous aurons "Général, Projet1" dans l'export CSV.

J. Exporter le rapport au format CSV

Dernière étape, peut-être la plus facile : exporter $TeamListReport dans un fichier CSV. On va utiliser le cmdlet prévu à cet effet, à savoir Export-Csv. Le fichier sera créé à l'emplacement suivant "C:\TEMP\" (vous pouvez modifier ou sinon créez le dossier s'il n'existe pas) et sera nommé "TeamsReporting.csv".

$TeamListReport | Export-Csv "C:\TEMP\TeamsReporting.csv" -Delimiter ";" -Encoding UTF8 -NoTypeInformation

Tout est prêt, alors on fait un essai ? 😃😃

IV. Aperçu du rapport Teams

Il est temps de tester le script pour voir à quoi va ressembler notre rapport sur les équipes Teams. Dans mon exemple, voici ce que ça donne en ouvrant le fichier avec Excel :

Rapport Teams PowerShell

Maintenant que vous avez en possession ce script, vous pouvez le faire évoluer pour ajouter ou supprimer de nouvelles colonnes. En tout cas, c'est une base intéressante pour faire un reporting des équipes Teams de son tenant Office 365.

➡ Pour télécharger le script Get-TeamsReport.ps1, rendez-vous sur mon Github : Get-TeamsReport.ps1

The post Comment générer un rapport des équipes Teams avec PowerShell ? first appeared on IT-Connect.

Google Chrome 91 : quelques nouveautés et 32 vulnérabilités corrigées

mercredi 26 mai 2021 à 08:41

Chrome 91 est disponible au téléchargement ! Au sein de cette nouvelle version stable, Google a introduit quelques nouveautés notamment en matière de sécurité, mais la firme américaine a surtout corrigé 32 failles de sécurité.

Puisque Chrome 91 est la nouvelle version stable, Chrome 92 passe en version Beta tandis que Chrome 93 devient la nouvelle version Canary.

Google Chrome 91 : 32 failles de sécurité corrigées

Une trentaine de vulnérabilités corrigées à l'occasion de la sortie de Chrome 91, dont 8 marquées avec la sévérité "Haute". Plus d'informations sur les différentes vulnérabilités sont disponibles sur la page suivante : Chrome 91 - Sécurité

Nouveautés Google Chrome 91

Google a introduit une fonctionnalité intéressante pour les personnes qui utilisent un Webmail : pour ajouter un fichier en pièce jointe d'un e-mail, il devient possible d'intégrer un fichier d'un simple copier-coller. Cela vient en complément de la possibilité d'ajouter un fichier via un glisser-déposer. Là, on peut utiliser les raccourcis clavier habituels c'est-à-dire "CTRL + C" et "CTRL + V" pour faire un copier-coller d'un fichier et l'intégrer dans un e-mail.

Google continue de renforcer la sécurité de Chrome contre les attaques de type NAT Slipstream 2.0. Depuis Chrome 90, le port 554 est bloqué pour les connexions HTTP, HTTPS et FTP. Sur le même principe, Chrome 91 bloque également le port 10080, ce dernier étant déjà bloqué au sein de Firefox depuis novembre 2020 pour les mêmes raisons.

De nouvelles APIs sont disponibles pour les développeurs, et Google a également ajouté la prise en charge de la règle @counter-style pour les feuilles de style CSS, ainsi que la prise en charge des modules au format JSON. D'autres nouveautés sont disponibles et s'adressent directement aux devs.

Pour mettre à jour Chrome, vous connaissez la procédure : Menu > Aide > A propos de Google Chrome, puis le navigateur va rechercher automatiquement la mise à jour et l'installer.

Source

The post Google Chrome 91 : quelques nouveautés et 32 vulnérabilités corrigées first appeared on IT-Connect.