Contrôler l’accès de PowerShell distant sur les serveurs ExchangeControl remote PowerShell access to Exchange servers

PowerShell distant dans Microsoft Exchange vous permet de gérer votre organisation Exchange à partir d’un ordinateur distant qui se trouve sur votre réseau interne ou à partir d’Internet. Vous pouvez désactiver ou activer la capacité d’un utilisateur à se connecter à un serveur Exchange à l’aide du PowerShell distant. Pour plus d’informations sur PowerShell distant, consultez Exchange Server PowerShell (Exchange Management Shell).Remote PowerShell in Microsoft Exchange allows you to manage your Exchange organization from a remote computer that's on your internal network or from the Internet. You can disable or enable a user's ability to connect to an Exchange server using remote PowerShell. For more information about remote PowerShell, see Exchange Server PowerShell (Exchange Management Shell).

Pour découvrir d'autres tâches de gestion relatives à l'environnement PowerShell distant, voir Connexion aux serveurs Exchange à l'aide de l'environnement PowerShell à distance.For additional management tasks related to remote PowerShell, see Connect to Exchange servers using remote PowerShell.

Ce qu'il faut savoir avant de commencer ?What do you need to know before you begin?

  • Durée d'exécution estimée de chaque procédure : moins de 5 minutesEstimated time to complete each procedure: less than 5 minutes

  • Vous pouvez uniquement utiliser PowerShell pour effectuer cette procédure.Pour en savoir plus sur l'ouverture de l'environnement de ligne de commande Exchange Management Shell dans votre organisation Exchange locale, consultez la rubrique Ouverture de l'environnement de ligne de commande Exchange Management Shell.You can only use PowerShell to perform this procedure. To learn how to open the Exchange Management Shell in your on-premises Exchange organization, see Open the Exchange Management Shell.

  • Par défaut, tous les comptes d'utilisateurs ont accès à PowerShell à distance. Toutefois, pour pouvoir effectivement utiliser l'environnement PowerShell distant pour se connecter à un serveur Exchange, l'utilisateur doit être membre d'un groupe de rôles de gestion ou se voir directement attribué un rôle de gestion qui permet aux utilisateurs d'exécuter les cmdlets Exchange. Pour plus d'informations sur les groupes de rôles et les rôles de gestion, consultez la rubrique Permissions.By default, all user accounts have access to remote PowerShell. However, to actually use remote PowerShell to connect to an Exchange server, the user needs to be a member of a management role group, or be directly assigned a management role that enables the user to run Exchange cmdlets. For more information about role groups and management roles, see Permissions.

  • Des autorisations doivent vous être attribuées avant de pouvoir exécuter cette procédure. Pour voir les autorisations qui vous sont nécessaires, consultez l'entrée « PowerShell à distance » dans la rubrique Exchange and Shell Infrastructure Permissions.You need to be assigned permissions before you can perform this procedure or procedures. To see what permissions you need, see the "Remote PowerShell" entry in the Exchange and Shell Infrastructure Permissions topic.

Tip

Des problèmes ? Demandez de l’aide dans les forums Exchange. Visitez les forums à Exchange Server.Having problems? Ask for help in the Exchange forums. Visit the forums at Exchange Server.

Utiliser l'Environnement de ligne de commande Exchange Management Shell pour activer ou désactiver l'accès à PowerShell à distance pour un utilisateurUse the Exchange Management Shell to enable or disable remote PowerShell access for a user

Cet exemple désactive l'accès à PowerShell à distance pour l'utilisatrice nommée Therese Lindqvist.This example disable remote PowerShell access for the user named Therese Lindqvist.

Set-User "Therese Lindqvist" -RemotePowerShellEnabled $false

Cet exemple active l'accès à PowerShell à distance pour l'utilisateur nommé Sirirat Kitjakarn.This example enables remote PowerShell access for the user named Sirirat Kitjakarn.

Set-User "Sirirat Kitjakarn" -RemotePowerShellEnabled $false

Utilisation d’Exchange Management Shell pour désactiver l’accès distant PowerShell pour de nombreux utilisateursUse the Exchange Management Shell to disable remote PowerShell access for many users

Pour bloquer l’accès d’un groupe spécifique d’utilisateurs via un environnement PowerShell distant, vous disposez des options suivantes :To prevent remote PowerShell access for a specific group of existing users, you have the following options:

  • Filtrer les utilisateurs selon un attribut existant: cette méthode suppose que les comptes d’utilisateur cible tous les partagent un attribut filtrable unique. Certains attributs, tels que le titre, département, adresse et numéro de téléphone, sont visibles uniquement lorsque vous utilisez la cmdlet Get-User . Autres attributs, tels que le CustomAttribute1-15, ne sont visibles que lorsque vous utilisez l’applet de commande Get-Mailbox .Filter users based on an existing attribute: This method assumes that the target user accounts all share a unique filterable attribute. Some attributes, such as Title, Department, address information, and telephone number, are visible only when you use the Get-User cmdlet. Other attributes, such as CustomAttribute1-15, are visible only when you use the Get-Mailbox cmdlet.

  • Utilisez une liste d’utilisateurs spécifiques: après avoir généré la liste des utilisateurs spécifiques, vous pouvez utiliser cette liste pour désactiver leurs accès au PowerShell distant.Use a list of specific users: After you generate the list of specific users, you can use that list to disable their access to remote PowerShell.

Filtrer les utilisateurs en fonction d'un attribut existantFilter users based on an existing attribute

Pour désactiver l’accès à distant PowerShell pour n’importe quel nombre d’utilisateurs selon un attribut existant, utilisez la syntaxe suivante :To disable access to remote PowerShell for any number of users based on an existing attribute, use the following syntax:

$<VariableName> = <Get-Mailbox | Get-User> -ResultSize unlimited -Filter <Filter>
$<VariableName> | foreach {Set-User -RemotePowerShellEnabled $false}

Cet exemple supprime l’accès à PowerShell à distance pour tous les utilisateurs dont l’attribut titre contient la valeur « Sales Associates ».This example removes access to remote PowerShell for all users whose Title attribute contains the value "Sales Associate".

$DSA = Get-User -ResultSize unlimited -Filter {(RecipientType -eq 'UserMailbox') -and (Title -like '*Sales Associate*')}
$DSA | foreach {Set-User -RemotePowerShellEnabled $false}

Utiliser une liste d'utilisateurs spécifiquesUse a list of specific users

Pour désactiver l’accès à distant PowerShell pour obtenir la liste des utilisateurs spécifiques, utilisez la syntaxe suivante :To disable access to remote PowerShell for a list of specific users, use the following syntax:

$<VariableName> = Get-Content <text file>
$<VariableName> | foreach {Set-User -RemotePowerShellEnabled $false

Cet exemple utilise le fichier texte C:\My Documents\NoPowerShell.txt pour identifier les utilisateurs par leur nom d’utilisateur principal (UPN). Le fichier texte doit contenir un UPN sur chaque ligne comme suit :This example uses the text file C:\My Documents\NoPowerShell.txt to identify the users by their user principal name (UPN). The text file must contain one UPN on each line as follows:

akol@contoso.com
tjohnston@contoso.com
kakers@contoso.com

Une fois que vous avez rempli le fichier texte avec les comptes d’utilisateurs que vous souhaitez mettre à jour, exécutez les commandes suivantes :After you populate the text file with the user accounts you want to update, run the following commands:

$NPS = Get-Content "C:\My Documents\NoPowerShell.txt"
$NPS | foreach {Set-User -RemotePowerShellEnabled $false}

Afficher les accès PowerShell à distance pour les utilisateursView the remote PowerShell access for users

Pour afficher le statut d’accès PowerShell distant pour un utilisateur spécifique, utilisez la syntaxe suivante :To view the remote PowerShell access status for a specific user, use the following syntax:

Get-User -Identity <UserIdentity> | Format-List RemotePowerShellEnabled

Cet exemple affiche le statut d’accès PowerShell distant de l’utilisateur nommé Sarah Jones.This example displays the remote PowerShell access status of the user named Sarah Jones.

Get-User -Identity "Sarah Jones" | Format-List RemotePowerShellEnabled

Pour afficher le statut d’accès PowerShell à distance pour tous les utilisateurs, exécutez la commande suivante :To display the remote PowerShell access status for all users, run the following command:

Get-User -ResultSize unlimited | Format-Table -Auto Name,DisplayName,RemotePowerShellEnabled

Pour afficher uniquement les utilisateurs qui ne bénéficient pas d’un accès via l’environnement PowerShell distant, exécutez la commande suivante :To display only those users who don't have access to remote PowerShell, run the following command:

Get-User -ResultSize unlimited -Filter {RemotePowerShellEnabled -eq $false}

Pour afficher uniquement les utilisateurs qui bénéficient d’un accès via l’environnement PowerShell distant, exécutez la commande suivante :To display only those users who have access to remote PowerShell, run the following command:

Get-User -ResultSize unlimited -Filter {RemotePowerShellEnabled -eq $true}