RUBRIQUE about_Remote_Troubleshooting DESCRIPTION COURTE Décrit comment résoudre les problèmes liés aux opérations distantes dans Windows PowerShell. DESCRIPTION LONGUE Cette section décrit certains des problèmes que vous pouvez rencontrer lorsque vous utilisez les fonctionnalités de communication à distance de Windows PowerShell qui sont basées sur la technologie Gestion des services Web, et vous propose des solutions. Avant d'utiliser la communication à distance Windows PowerShell, consultez about_Remote et about_Remote_Requirements pour obtenir des indications sur la configuration et l'utilisation de base. Par ailleurs, les rubriques d'aide relatives à chacune des applets de commande distantes, en particulier les descriptions de paramètres, comportent des informations utiles destinées à vous aider à éviter les problèmes. Des versions mises à jour de cette rubrique ainsi que d'autres rubriques d'aide Windows PowerShell sont accessibles en ligne dans la bibliothèque TechNet de Microsoft. Pour afficher la version en ligne de cette rubrique d'aide, collez l'URL suivante dans votre navigateur Internet : https://go.microsoft.com/fwlink/?LinkID=135188 REMARQUE : sous Windows Vista, Windows Server 2008 et les versions ultérieures de Windows, pour afficher ou modifier les paramètres pour l'ordinateur local dans le lecteur WSMan:, notamment les modifications apportées aux configurations de session, hôtes approuvés, ports ou écouteurs, démarrez Windows PowerShell avec l'option Exécuter en tant qu'administrateur. RÉSOLUTION DES PROBLÈMES LIÉS AUX AUTORISATIONS ET À L'AUTHENTIFICATION Cette section décrit les problèmes de communication à distance qui sont liés aux autorisations des utilisateurs et des ordinateurs ainsi qu'aux exigences relatives à la communication à distance. COMMENT EXÉCUTER EN TANT QU'ADMINISTRATEUR ------------------------------------------ ERREUR : accès refusé. Vous devez exécuter cette applet de commande à partir d'un processus élevé. Pour démarrer une session à distance sur l'ordinateur local, ou pour afficher ou modifier les paramètres pour l'ordinateur local dans le lecteur WSMan:, notamment les modifications apportées aux configurations de session, hôtes approuvés, ports ou écouteurs, démarrez Windows PowerShell avec l'option Exécuter en tant qu'administrateur. Pour démarrer Windows PowerShell avec l'option Exécuter en tant qu'administrateur : -- Cliquez avec le bouton droit sur une icône Windows PowerShell (ou Windows PowerShell ISE), puis cliquez sur Exécuter en tant qu'administrateur. Pour démarrer Windows PowerShell avec l'option Exécuter en tant qu'administrateur dans Windows 7 et Windows Server 2008 R2. -- Dans la barre des tâches Windows, cliquez avec le bouton droit sur l'icône Windows PowerShell, puis cliquez sur Exécuter Windows PowerShell en tant qu'administrateur. Remarque : dans Windows Server 2008 R2, l'icône Windows PowerShell est épinglée à la barre des tâches par défaut. COMMENT ACTIVER LA COMMUNICATION À DISTANCE ------------------------------------------- ERREUR : ACCÈS REFUSÉ. - ou - ERREUR : la connexion à l'hôte distant spécifié a été rejetée. Vérifiez que le service Gestion des services Web est en cours d'exécution sur l'hôte distant et configuré pour écouter les demandes sur le port et l'URL HTTP corrects. Aucune configuration n'est requise pour permettre à un ordinateur d'envoyer des commandes distantes. Toutefois, pour recevoir des commandes distantes, l'ordinateur doit être configuré pour la communication à distance. La configuration inclut le démarrage du service WinRM, la définition du type de démarrage du service WinRM sur Automatique, la création d'écouteurs pour les connexions HTTP et HTTPS, et la création de configurations de session par défaut. Pour configurer un ordinateur pour recevoir des commandes distantes, utilisez l'applet de commande Enable-PSRemoting. La commande suivante active tous les paramètres d'utilisation à distance requis, active les configurations de session et redémarre le service WinRM pour appliquer les modifications. enable-psremoting Pour supprimer toutes les invites utilisateur, tapez : enable-psremoting -force Pour plus d'informations, consultez Enable-PSRemoting. COMMENT ACTIVER LA COMMUNICATION À DISTANCE DANS UNE ENTREPRISE --------------------------------------------------------------- ERREUR : ACCÈS REFUSÉ. - ou - ERREUR : la connexion à l'hôte distant spécifié a été rejetée. Vérifiez que le service Gestion des services Web est en cours d'exécution sur l'hôte distant et configuré pour écouter les demandes sur le port et l'URL HTTP corrects. Pour permettre à un seul ordinateur de recevoir des commandes Windows PowerShell distantes et d'accepter des connexions, utilisez l'applet de commande Enable-PSRemoting. Pour activer la communication à distance pour plusieurs ordinateurs dans une entreprise, vous pouvez utiliser les options adaptées suivantes. -- Pour configurer les écouteurs pour la communication à distance, activez la stratégie de groupe " Autoriser la configuration automatique des écouteurs ". Pour obtenir les instructions appropriées, consultez " Comment activer les écouteurs à l'aide d'une stratégie de groupe " (ci-dessous). -- Pour définir le type de démarrage du service Gestion à distance de Windows (WinRM) sur Automatique sur plusieurs ordinateurs, utilisez l'applet de commande Set-Service. Pour obtenir les instructions appropriées, consultez " Comment définir le type de démarrage du service WinRM " (ci-dessous). -- Pour activer une exception de pare-feu, utilisez la stratégie de groupe " Pare-feu Windows : autoriser les exceptions de ports locaux ". Pour obtenir les instructions appropriées, consultez " Comment activer une exception de pare-feu à l'aide d'une stratégie de groupe " (ci-dessous). COMMENT ACTIVER LES ÉCOUTEURS À L'AIDE D'UNE STRATÉGIE DE GROUPE ---------------------------------------------------------------- ERREUR : ACCÈS REFUSÉ. - ou - ERREUR : la connexion à l'hôte distant spécifié a été rejetée. Vérifiez que le service Gestion des services Web est en cours d'exécution sur l'hôte distant et configuré pour écouter les demandes sur le port et l'URL HTTP corrects. Pour configurer les écouteurs pour tous les ordinateurs d'un domaine, activez la stratégie " Autoriser la configuration automatique des écouteurs " dans le chemin d'accès de la stratégie de groupe suivant : Configuration de l'ordinateur\Modèles d'administration \Composants Windows\Gestion à distance de Windows (WinRM) \Service WinRM Activez la stratégie et spécifiez les filtres IPv4 et IPv6. Les caractères génériques (*) sont autorisés. COMMENT ACTIVER UNE EXCEPTION DE PARE-FEU À L'AIDE D'UNE STRATÉGIE DE GROUPE ------------------------------------------------------------------ ERREUR : ACCÈS REFUSÉ. - ou - ERREUR : la connexion à l'hôte distant spécifié a été rejetée. Vérifiez que le service Gestion des services Web est en cours d'exécution sur l'hôte distant et configuré pour écouter les demandes sur le port et l'URL HTTP corrects. Pour activer une exception de pare-feu pour tous les ordinateurs d'un domaine, activez la stratégie " Pare-feu Windows : autoriser les exceptions de ports locaux " dans le chemin d'accès de la stratégie de groupe suivant : Configuration de l'ordinateur\Modèles d'administration\Réseau \Connexions réseau\Pare-feu Windows\Profil de domaine Cette stratégie permet aux membres du groupe Administrateurs sur l'ordinateur d'utiliser le Pare-feu Windows dans le Panneau de configuration pour créer une exception de pare-feu pour le service Gestion à distance de Windows. COMMENT DÉFINIR LE TYPE DE DÉMARRAGE DU SERVICE WINRM ----------------------------------------------------- ERREUR : ACCÈS REFUSÉ. La communication à distance Windows PowerShell dépend du service Gestion à distance de Windows (WinRM). Le service doit être en cours d'exécution pour prendre en charge les commandes distantes. Sous Windows Server 2003, Windows Server 2008 et Windows Server 2008 R2, le type de démarrage du service Gestion à distance de Windows (WinRM) est Automatique. Toutefois, sous Windows XP, Windows Vista et Windows 7, le service WinRM est désactivé par défaut. Pour définir le type de démarrage d'un service sur un ordinateur distant, utilisez l'applet de commande Set-Service. Pour exécuter la commande sur plusieurs ordinateurs, vous pouvez créer un fichier texte ou CSV des noms des ordinateurs. Par exemple, les commandes suivantes obtiennent une liste des noms des ordinateurs à partir du fichier Servers.txt, puis définissent le type de démarrage du service WinRM sur tous les ordinateurs sur Automatique. C:\PS> $servers = get-content servers.txt C:\PS> set-service WinRM -computername $servers -startuptype Automatic Pour afficher les résultats, utilisez l'applet de commande Get-WMIObject avec l'objet Win32_Service. Pour plus d'informations, consultez Set-Service. COMMENT RECRÉER LES CONFIGURATIONS DE SESSION PAR DÉFAUT -------------------------------------------------------- ERREUR : ACCÈS REFUSÉ. Pour établir une connexion à l'ordinateur local et exécuter des commandes à distance, l'ordinateur local doit inclure des configurations de session pour les commandes distantes. Lorsque vous utilisez l'applet de commande Enable-PSRemoting, elle crée les configurations de session par défaut sur l'ordinateur local. Les utilisateurs distants emploient ces configurations de session chaque fois qu'une commande distante ne comprend pas le paramètre ConfigurationName. Si les configurations par défaut sur un ordinateur ne sont pas inscrites ou sont supprimées, utilisez l'applet de commande Enable-PSRemoting pour les recréer. Vous pouvez utiliser cette applet de commande à plusieurs reprises. Elle ne génère aucune erreur si une fonctionnalité est déjà configurée. Si vous modifiez les configurations de session par défaut et voulez rétablir les configurations de session par défaut d'origine, utilisez l'applet de commande Unregister-PSSessionConfiguration pour supprimer les configurations de session modifiées, puis Enable-PSRemoting pour les rétablir. Enable-PSRemoting ne modifie pas les configurations de session existantes. Remarque : lorsque l'applet de commande Enable-PSRemoting rétablit la configuration de session par défaut, elle ne crée pas de descripteur de sécurité explicite pour les configurations. En revanche, les configurations héritent du descripteur de sécurité de RootSDDL, qui est sécurisé par défaut. Pour afficher le descripteur de sécurité RootSDDL, tapez : get-item wsman:\localhost\Service\RootSDDL Pour modifier le descripteur RootSDDL, utilisez l'applet de commande Set-Item dans le lecteur WSMan:. Pour modifier le descripteur de sécurité d'une configuration de session, utilisez l'applet de commande Set-PSSessionConfiguration avec les paramètres SecurityDescriptorSDDL ou ShowSecurityDescriptorUI. Pour plus d'informations sur le lecteur WSMan:, consultez la rubrique d'aide du fournisseur de Gestion des services Web (" get-help wsman "). COMMENT FOURNIR DES INFORMATIONS D'IDENTIFICATION DE L'ADMINISTRATEUR --------------------------------------------------------------------- ERREUR : ACCÈS REFUSÉ. Pour créer une session PSSession ou exécuter des commandes sur un ordinateur distant, par défaut, l'utilisateur actuel doit être membre du groupe Administrateurs sur l'ordinateur distant. Des informations d'identification sont parfois requises même lorsque l'utilisateur actuel est connecté à un compte qui est membre du groupe Administrateurs. Si l'utilisateur actuel est membre du groupe Administrateurs sur l'ordinateur distant ou peut fournir les informations d'identification d'un membre du groupe Administrateurs, utilisez le paramètre Credential des applets de commande New -PSSession, Enter-PSSession ou Invoke-Command pour vous connecter à distance. Par exemple, la commande suivante fournit les informations d'identification d'un administrateur. Invoke-Command -ComputerName Server01 -Credential Domain01 \Admin01 Pour plus d'informations sur le paramètre Credential, consultez New-PSSession, Enter-PSSession ou Invoke-Command. COMMENT ACTIVER LA COMMUNICATION À DISTANCE POUR LES UTILISATEURS NON-ADMINISTRATEURS ----------------------------------------------------------------- ERREUR : ACCÈS REFUSÉ. Pour établir une session PSSession ou exécuter une commande sur un ordinateur distant, l'utilisateur doit avoir l'autorisation d'employer les configurations de session sur l'ordinateur distant. Par défaut, seuls les membres du groupe Administrateurs sur un ordinateur ont l'autorisation d'employer les configurations de session par défaut. Par conséquent, seuls les membres du groupe Administrateurs peuvent se connecter à l'ordinateur à distance. Pour permettre à d'autres utilisateurs de se connecter à l'ordinateur local, accordez-leur des autorisations d'exécution sur les configurations de session par défaut sur l'ordinateur local. La commande suivante ouvre une feuille de propriétés qui vous permet de modifier le descripteur de sécurité de la configuration de session par défaut Microsoft.PowerShell sur l'ordinateur local. Set-PSSessionConfiguration Microsoft.PowerShell -ShowSecurityDescriptorUI Pour plus d'informations, consultez about_Session_Configurations. COMMENT ACTIVER LA COMMUNICATION À DISTANCE POUR LES ADMINISTRATEURS DANS D'AUTRES DOMAINES ---------------------------------------------------- ERREUR : ACCÈS REFUSÉ. Lorsqu'un utilisateur d'un autre domaine est membre du groupe Administrateurs sur l'ordinateur local, il ne peut pas se connecter à cet ordinateur à distance avec les privilèges d'administrateur. Par défaut, les connexions distantes à partir d'autres domaines s'effectuent avec uniquement des jetons de privilèges d'utilisateur standard. Toutefois, vous pouvez utiliser l'entrée de Registre LocalAccountTokenFilterPolicy pour modifier le comportement par défaut et permettre aux utilisateurs distants qui sont membres du groupe Administrateurs de se connecter avec les privilèges d'administrateur. Attention : l'entrée LocalAccountTokenFilterPolicy désactive les restrictions distantes de contrôle de compte d'utilisateur pour tous les utilisateurs de tous les ordinateurs concernés. Examinez soigneusement les conséquences de ce paramètre avant de modifier la stratégie. Pour modifier la stratégie, utilisez la commande suivante pour affecter la valeur 1 à l'entrée de Registre LocalAccountTokenFilterPolicy. C:\PS> new-itemproperty -name LocalAccountTokenFilterPolicy -path ` HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies \System -propertyType `DWord -value 1 COMMENT UTILISER UNE ADRESSE IP DANS UNE COMMANDE DISTANTE ---------------------------------------------------------- ERREUR : le client WinRM ne peut pas traiter la demande. Si le modèle d'authentification n'est pas Kerberos, ou si l'ordinateur client n'est pas membre d'un domaine, le transport HTTPS doit être utilisé ou l'ordinateur de destination doit être ajouté au paramètre de configuration TrustedHosts. Les paramètres ComputerName des applets de commande New-PSSession, Enter-PSSession et Invoke-Command acceptent une adresse IP comme valeur valide. Toutefois, dans la mesure où l'authentification Kerberos ne prend pas en charge les adresses IP, l'authentification NTLM est utilisée par défaut chaque fois que vous spécifiez une adresse IP. Lors de l'utilisation de l'authentification NTLM, la procédure suivante est requise pour la communication à distance. 1. Configurez l'ordinateur pour le transport HTTPS ou ajoutez les adresses IP des ordinateurs distants à la liste TrustedHosts de l'ordinateur local. Pour obtenir les instructions appropriées, consultez " Comment ajouter un ordinateur à la liste TrustedHosts " ci-dessous. 2. Utilisez le paramètre Credential dans toutes les commandes distantes. Cela est obligatoire même lorsque vous envoyez les informations d'identification de l'utilisateur actuel. COMMENT SE CONNECTER À DISTANCE À PARTIR D'UN ORDINATEUR DE GROUPE DE TRAVAIL ------------------------------------------------------------------ ERREUR : le client WinRM ne peut pas traiter la demande. Si le modèle d'authentification n'est pas Kerberos, ou si l'ordinateur client n'est pas membre d'un domaine, le transport HTTPS doit être utilisé ou l'ordinateur de destination doit être ajouté au paramètre de configuration TrustedHosts. Lorsque l'ordinateur local ne fait pas partie d'un domaine, la procédure suivante est requise pour la communication à distance. 1. Configurez l'ordinateur pour le transport HTTPS ou ajoutez les noms des ordinateurs distants à la liste TrustedHosts de l'ordinateur local. Pour obtenir les instructions appropriées, consultez " Comment ajouter un ordinateur à la liste TrustedHosts " ci-dessous. 2. Vérifiez qu'un mot de passe est défini sur l'ordinateur de groupe de travail. Si aucun mot de passe n'est défini ou que sa valeur est vide, vous ne pouvez pas exécuter de commandes distantes. Pour définir un mot de passe pour votre compte d'utilisateur, utilisez Comptes d'utilisateurs dans le Panneau de configuration. 3. Utilisez le paramètre Credential dans toutes les commandes distantes. Cela est obligatoire même lorsque vous envoyez les informations d'identification de l'utilisateur actuel. COMMENT AJOUTER UN ORDINATEUR À LA LISTE TRUSTEDHOSTS ----------------------------------------------------- L'élément TrustedHosts peut contenir une liste de noms d'ordinateurs, d'adresses IP et de noms de domaines complets séparés par des virgules. Les caractères génériques sont autorisés. Pour afficher ou modifier la liste des hôtes approuvés, utilisez le lecteur WSMan:. L'élément TrustedHost se trouve dans le nœud WSMan:\localhost\Client. Seuls les membres du groupe Administrateurs sur l'ordinateur ont l'autorisation de modifier la liste des hôtes approuvés sur l'ordinateur. Attention : la valeur que vous définissez pour l'élément TrustedHosts affecte tous les utilisateurs de l'ordinateur. Pour afficher la liste des hôtes approuvés, utilisez la commande suivante : get-item wsman:\localhost\Client\TrustedHosts Vous pouvez également utiliser l'applet de commande Set-Location (alias = cd) pour parcourir le lecteur WSMan: jusqu'à l'emplacement. Par exemple, " cd WSMan:\localhost\Client; dir ". Pour ajouter tous les ordinateurs à la liste des hôtes approuvés, utilisez la commande suivante, qui insère la valeur * (tous) dans ComputerName set-item wsman:localhost\client\trustedhosts -value * Vous pouvez également utiliser un caractère générique (*) pour ajouter tous les ordinateurs d'un domaine particulier à la liste des hôtes approuvés. Par exemple, la commande suivante ajoute tous les ordinateurs du domaine Fabrikam à la liste des hôtes approuvés. set-item wsman:localhost\client\trustedhosts *.fabrikam.com Pour ajouter les noms d'ordinateurs particuliers à la liste des hôtes approuvés, utilisez le format de commande suivant : set-item wsman:\localhost\Client\TrustedHosts -value <NomOrdinateur> [,<NomOrdinateur>] où chaque valeur <NomOrdinateur> doit avoir le format suivant : <Ordinateur>.<Domaine>.<Société>.<domaine-niveau-supérieur> Par exemple : set-item wsman:\localhost\Client\TrustedHosts -value Serveur01.Domaine01.Fabrikam.com Pour ajouter un nom d'ordinateur à une liste existante d'hôtes approuvés, enregistrez d'abord la valeur actuelle dans une variable, puis affectez-lui une liste séparée par des virgules qui inclut les valeurs actuelles et nouvelles. Par exemple, pour ajouter l'ordinateur Serveur01 à une liste existante d'hôtes approuvés, utilisez la commande suivante : $curValue = (get-item wsman:\localhost\Client\TrustedHosts).value set-item wsman:\localhost\Client\TrustedHosts -value "$curValue, Serveur01.Domaine01.Fabrikam.com" Pour ajouter les adresses IP d'ordinateurs particuliers à la liste des hôtes approuvés, utilisez le format de commande suivant : set-item wsman:\localhost\Client\TrustedHosts -value <Adresse IP> Par exemple : set-item wsman:\localhost\Client\TrustedHosts -value 172.16.0.0 Pour ajouter un ordinateur à la liste TrustedHosts d'un ordinateur distant, utilisez l'applet de commande Connect-WSMan pour ajouter un nœud pour l'ordinateur distant au lecteur WSMan: sur l'ordinateur local. Utilisez ensuite une commande Set-Item pour ajouter l'ordinateur. Pour plus d'informations sur l'applet de commande Connect-WSMan, consultez Connect-WSMan. RÉSOLUTION DES PROBLÈMES LIÉS À LA CONFIGURATION DE L'ORDINATEUR Cette section décrit les problèmes de communication à distance qui sont liés aux configurations particulières d'un ordinateur, d'un domaine ou d'une entreprise. COMMENT CONFIGURER LA COMMUNICATION À DISTANCE SUR D'AUTRES PORTS ----------------------------------------------------------------- ERREUR : la connexion à l'hôte distant spécifié a été rejetée. Vérifiez que le service Gestion des services Web est en cours d'exécution sur l'hôte distant et configuré pour écouter les demandes sur le port et l'URL HTTP corrects. La communication à distance Windows PowerShell utilise le port 80 pour le transport HTTP par défaut. Le port par défaut est utilisé chaque fois que l'utilisateur ne spécifie pas de paramètre ConnectionURI ou Port dans une commande distante. Pour modifier le port par défaut employé par Windows PowerShell, utilisez l'applet de commande Set-Item dans le lecteur WSMan: pour changer la valeur Port dans le nœud terminal de l'écouteur. Par exemple, la commande suivante remplace le port par défaut par 8080. set-item wsman:\localhost\listener\listener*\port -value 8080 COMMENT CONFIGURER LA COMMUNICATION À DISTANCE AVEC UN SERVEUR PROXY -------------------------------------------------------------- ERREUR : le client ne peut pas se connecter à la destination spécifiée dans la demande. Vérifiez que le service est en cours d'exécution sur la destination et qu'il accepte les demandes. Étant donné que la communication à distance Windows PowerShell utilise le protocole HTTP, elle est affectée par les paramètres de proxy HTTP. Dans les entreprises qui disposent de serveurs proxy, les utilisateurs ne peuvent pas accéder directement à un ordinateur distant Windows PowerShell. Pour résoudre ce problème, utilisez les options des paramètres de proxy dans votre commande distante. Les paramètres suivants sont disponibles : -- ProxyAccessType -- ProxyAuthentication -- ProxyCredential Pour définir ces options pour une commande particulière, utilisez la procédure suivante : 1. Utilisez les paramètres ProxyAccessType, ProxyAuthentication et ProxyCredential de l'applet de commande New-PSSessionOption pour créer un objet d'option de session avec les paramètres de proxy pour votre entreprise. Enregistrez l'objet d'option dans une variable. 2. Utilisez la variable qui contient l'objet d'option comme valeur du paramètre SessionOption d'une commande New-PSSession, Enter-PSSession ou Invoke-Command. Par exemple, la commande suivante crée un objet d'option de session avec les options de session proxy, puis utilise l'objet pour créer une session à distance. C:\PS> $SessionOption = New-PSSessionOption -ProxyAccessType IEConfig ` -ProxyAuthentication Negotiate -ProxyCredential Domain01\User01 C:\PS> New-PSSession -ConnectionURI https://www.fabrikam.com Pour plus d'informations sur l'applet de commande New-PSSessionOption, consultez New-PSSessionOption. Pour définir ces options pour toutes les commandes distantes de la session active, utilisez l'objet d'option créé par New-PSSessionOption dans la valeur de la variable de préférence $PSSessionOption. Pour plus d'informations sur la variable de préférence $PSSessionOption, consultez about_Preference_Variables. Pour définir ces options pour toutes les commandes distantes de toutes les sessions Windows PowerShell sur l'ordinateur local, ajoutez la variable de préférence $PSSessionOption à votre profil Windows PowerShell. Pour plus d'informations sur les profils Windows PowerShell, consultez about_Profiles. COMMENT DÉTECTER UNE SESSION 32 BITS SUR UN ORDINATEUR 64 BITS -------------------------------------------------------------- ERREUR : le terme " nom-outil " n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessayez. Si l'ordinateur distant exécute une version 64 bits de Windows et que la commande distante utilise une configuration de session 32 bits, par exemple Microsoft.PowerShell32, le service Gestion à distance de Windows (WinRM) charge un processus WOW64 et Windows redirige automatiquement toutes les références au répertoire %Windir%\System32 vers le répertoire %windir%\SysWOW64. Par conséquent, si vous essayez d'employer des outils dans le répertoire System32 qui n'ont pas d'équivalents dans le répertoire SysWow64, par exemple Defrag.exe, les outils sont introuvables dans le répertoire. Pour rechercher l'architecture de processeur utilisée dans la session, utilisez la valeur de la variable d'environnement PROCESSOR_ARCHITECTURE. La commande suivante recherche l'architecture de processeur de la session dans la variable $s. C:\PS> $s = new-pssession -computername Server01 -configurationName CustomShell C:\PS> invoke-command -session $s {$env:PROCESSOR_ARCHITECTURE} x86 Pour plus d'informations sur les configurations de session, consultez about_session_configurations. RÉSOLUTION DES PROBLÈMES LIÉS AUX STRATÉGIES ET PRÉFÉRENCES Cette section décrit les problèmes de communication à distance qui sont liés aux stratégies et préférences définies sur les ordinateurs locaux et distants. COMMENT MODIFIER LA STRATÉGIE D'EXÉCUTION POUR IMPORT-PSSESSION ET IMPORT-MODULE ------------------------------------------------------------------ ERREUR : Import-Module : impossible de charger le fichier <nomfichier>, car l'exécution de scripts est désactivée sur ce système. Les applets de commande Import-PSSession et Export-PSSession créent des modules qui contiennent des fichiers de script et fichiers de mise en forme non signés. Pour importer les modules créés par ces applets de commande, à l'aide d'Import-PSSession ou d'Import-Module, la stratégie d'exécution de la session active ne peut pas être Restricted ni AllSigned. Pour plus d'informations sur les stratégies d'exécution Windows PowerShell, consultez about_Execution_Policies. Pour importer les modules sans modifier la stratégie d'exécution de l'ordinateur local qui est définie dans le Registre, utilisez le paramètre Scope de Set-ExecutionPolicy afin de définir une stratégie d'exécution moins restrictive pour un processus unique. Par exemple, la commande suivante démarre un processus avec la stratégie d'exécution RemoteSigned. La modification de la stratégie d'exécution affecte uniquement le processus actif et ne change pas le paramètre de Registre ExecutionPolicy Windows PowerShell. set-executionpolicy -scope process -executionpolicy RemoteSigned Vous pouvez également utiliser le paramètre ExecutionPolicy de PowerShell.exe pour démarrer une seule session avec une stratégie d'exécution moins restrictive. powershell.exe -executionpolicy RemoteSigned Pour plus d'informations sur les applets de commande, consultez Import-PSSession, Export-PSSession et Import-Module. Pour plus d'informations sur les stratégies d'exécution, consultez about_Execution_Policies. Pour plus d'informations sur les options d'aide de la console PowerShell.exe, tapez " powershell.exe -? ". COMMENT DÉFINIR ET MODIFIER LES QUOTAS -------------------------------------- ERREUR : la totalité des données reçues de la part du client distant a dépassé le maximum autorisé. Vous pouvez utiliser des quotas pour protéger les ordinateurs local et distant contre une utilisation excessive des ressources, à la fois accidentelle et malveillante. Les quotas suivants sont disponibles dans la configuration de base. -- Le fournisseur de Gestion des services Web (WSMan:) propose plusieurs paramètres de quota, tels que MaxEnvelopeSizeKB et MaxProviderRequests dans le nœud WSMan:\<NomOrdinateur>, ainsi que MaxConcurrentOperations, MaxConcurrentOperationsPerUser et MaxConnections dans le nœud WSMan:\<NomOrdinateur>\Service. -- Vous pouvez protéger l'ordinateur local à l'aide des paramètres MaximumReceivedDataSizePerCommandMB et MaximumReceivedObjectSizeMB de l'applet de commande New-PSSessionOption et de la variable de préférence $PSSessionOption. -- Vous pouvez protéger l'ordinateur distant en ajoutant des restrictions aux configurations de session, par exemple à l'aide des paramètres MaximumReceivedDataSizePerCommandMB et MaximumReceivedObjectSizeMB de l'applet de commande Register-PSSessionConfiguration. Lorsque les quotas sont en conflit avec une commande, Windows PowerShell génère une erreur. Pour corriger l'erreur, modifiez la commande distante pour qu'elle soit conforme au quota. Vous pouvez également déterminer la source du quota, puis augmenter le quota pour permettre l'exécution de la commande. Par exemple, la commande suivante augmente le quota de la taille des objets dans la configuration de session Microsoft.PowerShell sur l'ordinateur distant de 10 Mo (valeur par défaut) à 11 Mo. Set-PSSessionConfiguration -name microsoft.powershell ` -MaximumReceivedObjectSizeMB 11 -Force Pour plus d'informations sur l'applet de commande New-PSSessionOption, consultez New-PSSessionOption. Pour plus d'informations sur les quotas du service Gestion des services Web, consultez la rubrique d'aide du fournisseur de Gestion des services Web (tapez " get-help WSMan "). COMMENT RÉSOUDRE LES ERREURS DE DÉLAI D'ATTENTE ----------------------------------------------- ERREUR : le service Gestion des services Web ne peut pas terminer l'opération dans le temps spécifié par OperationTimeout. Vous pouvez utiliser des délais d'attente pour protéger les ordinateurs local et distant contre une utilisation excessive des ressources, à la fois accidentelle et malveillante. Lorsque des délais d'attente sont définis à la fois sur les ordinateurs local et distant, Windows PowerShell utilise les paramètres du délai d'attente le plus court. Les délais d'attente suivants sont disponibles dans la configuration de base. -- Le fournisseur de Gestion des services Web (WSMan:) propose plusieurs paramètres de délai d'attente côté client et côté service, tels que MaxTimeoutms dans le nœud WSMan:\<NomOrdinateur>, et EnumerationTimeoutms et MaxPacketRetrievalTimeSeconds dans le nœud WSMan:\<NomOrdinateur>\Service. -- Vous pouvez protéger l'ordinateur local à l'aide des paramètres CancelTimeout, IdleTimeout, OpenTimeout et OperationTimeout de l'applet de commande New-PSSessionOption et de la variable de préférence $PSSessionOption. -- Vous pouvez également protéger l'ordinateur distant en définissant des valeurs de délai d'attente par programmation dans la configuration de session pour la session. Lorsqu'une valeur de délai d'attente n'autorise pas l'exécution d'une opération, Windows PowerShell met fin à l'opération et génère une erreur. Pour corriger l'erreur, modifiez la commande pour qu'elle s'exécute dans l'intervalle du délai d'attente ou déterminez la source de la limite du délai d'attente et augmentez l'intervalle pour permettre l'exécution de la commande. Par exemple, les commandes suivantes utilisent l'applet de commande New-PSSessionOption pour créer un objet d'option de session avec une valeur OperationTimeout égale à 4 minutes (en ms), puis utilisent cet objet pour créer une session à distance. C:\PS> $pso = new-pssessionoption -operationtimeout 240000 C:\PS> new-pssession -computername Server01 -sessionOption $pso Pour plus d'informations sur les délais d'attente du service Gestion des services Web, consultez la rubrique d'aide du fournisseur de Gestion des services Web (tapez " get-help WSMan "). Pour plus d'informations sur l'applet de commande New-PSSessionOption, consultez New-PSSessionOption. RÉSOLUTION DES PROBLÈMES LIÉS À UNE ABSENCE DE RÉPONSE Cette section décrit les problèmes de communication à distance qui empêchent l'exécution d'une commande et empêchent ou retardent le retour de l'invite Windows PowerShell. COMMENT INTERROMPRE UNE COMMANDE -------------------------------- Certains programmes Windows d'origine, tels que ceux avec une interface utilisateur, les applications console qui demandent une entrée et celles qui utilisent l'API de console Win32, ne fonctionnent pas correctement dans l'hôte distant Windows PowerShell. Lorsque vous utilisez ces programmes, un comportement inattendu peut se produire, par exemple l'absence de sortie, une sortie partielle ou une commande distante qui ne s'exécute pas. Pour mettre fin à un programme qui ne répond pas, tapez CTRL+C. Pour afficher les erreurs qui peuvent avoir été signalées, tapez " $error " dans l'hôte local et la session à distance. VOIR AUSSI Version en ligne : https://go.microsoft.com/fwlink/?LinkID=135188 about_remote about_remote_requirements