Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Powershell : List all External users which have access to your Teams

« Peut-on savoir si des externes ont accès aux sites Teams ? Et si oui lesquels ? » est une question qui revient souvent quand on parle droits d’accès et O365.

Pour le savoir rien de plus simple, Powershell et de la patience.

 

#Connect-MicrosoftTeams
Connect-MicrosoftTeams

# Define Variables
$ArrayTeamsMembers = @()
$AllTeams = Get-Team

$AllTeams | foreach {
    $GroupId = $_.GroupId
    $DisplayName = $_.DisplayName
    $Visibility = $_.Visibility
    $Archived = $_.Archived
    $MailNickName = $_.MailNickName
    $Description = $_.Description

    # Search External members
    $Members = Get-TeamUser -GroupId $GroupId 
    $External = $Members.where({$_.Role -eq "Guest"})

    If ($External.count -ne 0) {
        Write-Host "External User(s) are present in $DisplayName" -ForegroundColor Green
        $External.count
        $External | foreach {
            $UserId = $_.UserId
            $User = $_.User

            $ArrayTeamsMembers += New-Object psobject -Property @{
                GroupId = $GroupId
                DisplayName = $DisplayName
                Visibility = $Visibility
                Archived = $Archived
                MailNickName = $MailNickName
                Description = $Description
                UserId = $UserId
                User = $User
                }
            $UserId = $null
            $User = $null
            }
        }

    $GroupId = $null
    $DisplayName = $null
    $Visibility = $null
    $Archived = $null
    $MailNickName = $null
    $Description = $null
    $Members = $null
    $External = $null
    }

$ArrayTeamsMembers | Export-Csv c:\temp\ExternalTeamsMembers.csv -Encoding UTF8 -Delimiter ";" -NoTypeInformation

 

 

Powershell : Extract Teams phone numbers

Avez vous déjà essayé d’exporter les numéros de Téléphone Teams depuis le portail d’administration ? Je vous en prie faites l’essai… Frustrant non ?

Voici comment exporter les numéros Teams dans un fichier CSV via Powershell

# Variables Definition
$Array = @()
$Csv = "C:\temp\TeamsNumbers.csv"

# Skype Online Connection
Import-Module SkypeOnlineConnector
$sessionCS = New-CsOnlineSession -OverrideAdminDomain assystem.com
Import-PSSession $sessionCS

# Azure AD Connection
Connect-AzureAD

# Collect All Voice User
$AllVoiceUsers = Get-CsOnlineVoiceUser

# Collect Data and store them in array
$AllVoiceUsers | foreach {
    $Name = $_.Name
    $Id = $_.Id
    $SipDomain = $_.SipDomain
    $Number = $_.Number
    $LicenseState = $_.LicenseState
    $UsageLocation = $_.UsageLocation
    $EnterpriseVoiceEnabled = $_.EnterpriseVoiceEnabled

    $CurrentUser = Get-AzureADUser -ObjectId $Id
    $Mail = $CurrentUser.Mail
    $Upn = $CurrentUser.UserPrincipalName

    $Array += New-Object psobject -Property @{
        Name = $Name
        Id = $Id
        SipDomain = $SipDomain
        Number = $Number
        LicenseState = $LicenseState
        UsageLocation = $UsageLocation
        EnterpriseVoiceEnabled = $EnterpriseVoiceEnabled
        Mail = $Mail
        Upn = $Upn     
        }
    $Name = $null
    $Id = $null
    $SipDomain = $null
    $Number = $null
    $LicenseState = $null
    $UsageLocation = $null
    $EnterpriseVoiceEnabled = $null
$CurrentUser = $null
    $Mail = $null
    $Upn = $null
    }

# Export Data
$Array | Export-Csv $Csv -Delimiter ";" -Encoding UTF8 -NoTypeInformation

 

 

Redémarrage automatique de Windows Server 2016

Dans Windows Server 2016, les mises à jour de Windows sont partiellement contrôlées par un nouveau service d’orchestrateur de mise à jour ainsi que par le service de mise à jour de Windows. Le service orchestrateur utilise une série de tâches planifiées pour vérifier les nouvelles mises à jour installées et planifie un redémarrage à tout moment en dehors des « heures actives » de 12 heures si le service détecte qu’une mise à jour a été installée.

Les modèles de stratégie ADMX pour la stratégie de groupe Windows Server 2016 ne semblent pas avoir de contrôle sur les redémarrages des mises à jour pour le moment.

Cependant, il y a une solution de contournement manuelle pour arrêter le redémarrage automatique via l’orchestrateur, tout en autorisant l’installation des mises à jour jusqu’à ce que Microsoft publie des contrôles avec plus de granularité.

Pour désactiver le redémarrage automatique des mises à jour:

  1. Ouvrir le planificateur de tâches puis naviguer dans la bibliothèque de tâches Microsoft –> Windows –> UpdateOrchestrator,
  2. Désactiver la tâche « Reboot » en cliquant droit sur la tâche de redémarrage comme ci-dessous et en sélectionnant Désactiver dans le menu contextuel.
  3. Une fois que la tâche « Reboot » ait le statut Désactivé, fermer le planificateur de tâches.
  4. Accéder au dossier C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator et cliquer droit sur le fichier de redémarrage puis sélectionner Propriétés. Dans la fenêtre Propriétés de redémarrage, sélectionner l’onglet Sécurité puis Modifier

  5. Pour tous les types d’accès, définir la sécurité des fichiers sur Refuser sur SYSTEME, SERVICE LOCAL , SERVICE RESEAU en sélectionnant chacun des utilisateurs mentionnés à tour de rôle et en cochant la case Refuser pour Contrôle total comme ci-dessous (cela empêche Windows de réactiver la tâche de Reboot)