Configuration de WinRM sur des hôtes Hyper-V

Configurez Windows Remote Management pour permettre au serveur BigFix Inventory de collecter des données sur la topologie de virtualisation des machines virtuelles installées dans votre infrastructure.

Avant de commencer

  • Pour extraire les données requises afin de calculer correctement la PVU, vous devez être connecté en tant qu'administrateur sur l'hôte Hyper-V. C'est nécessaire car l'appel Windows Management Instrumentation qui accède à l'espace-noms MsCluster requiert un compte administrateur.
  • Les instructions codées en dur et en sélection seule sont exécutées sur WinRM. Les données obtenues sont stockées dans un schéma de base de données. BigFix Inventory ne modifie pas les paramètres Hyper-V et n'a aucune incidence dessus.

Pourquoi et quand exécuter cette tâche

Le service WinRM est une implémentation de la spécification WS-Management qui active la coopération entre du matériel et des systèmes d'exploitation issus de différents fournisseurs. Le serveur BigFix Inventory se connecte à ce service défini en tant que gestionnaire VM et collecte des données sur la hiérarchie de virtualisation. Par conséquent, vous devez exécuter la procédure suivante sur chaque hôte Hyper-V de votre infrastructure, y compris ceux qui font partie d'un cluster, pour garantir que le service WinRM est en cours d'exécution et est configuré pour permettre la communication avec le serveur.

Procédure

  1. Définition de programmes d'écoute HTTP et HTTPS. Par défaut, la communication avec le service WinRM est désactivée car il n'y a pas de programme d'écoute défini. Pour vérifier si des programmes d'écoute sont actuellement définis, entrez la commande suivante : winrm enumerate winrm/config/listener. Si aucune sortie n'est renvoyée, aucun programme d'écoute n'est défini.
    1. Pour définit un programme d'écoute HTTP par défaut, entrez :
      winrm quickconfig
      La commande démarre le service WinRM et définit qu'il démarrera automatiquement au démarrage du système. Elle crée aussi un programme d'écoute HTTP sur le port par défaut (acceptant des requêtes émanant de toute adresse IP), définit des exceptions Internet Connection Firewall pour le service et ouvre le port HTTP. Selon la version ét winrm service, le port HTTP par défaut (80 ou 5985. Pour plus d'informations, voir : Installation et Configuration de la gestion à distance Windows.
    2. Pour définir un programme d'écoute pour les connexions sécurisées (HTTPS), vous devez disposer d'un certificat valide sur l'hôte Hyper-V avec un nom commun (CN) correspondant au nom d'hôte que vous utilisez pour vous connecter à Hyper-V. Vous devez aussi créer un programme d'écoute avec le service CertificateThumbprint de ce certificat. Pour plus d'informations, voir la documentation Microsoft : http://support.microsoft.com/kb/2019527.. Vous pourrez peut-être créer un certificat autosigné pour tester les objectifs, mais vous devez consulter votre administrateur de certificats.
      Remarque : Si aucun certificat approprié n'a été trouvé sur la machine, la commande ci-dessus ne fonctionnera pas et la sortie suivante sera renvoyée : Le certificat doit disposer d'un nom commun (CN) correspondant au nom d'hôte, être approprié pour l'authentification serveur et être en cours de validité, non révoqué ou autosigné. S'il faut utiliser un certificat autosigné, vous pouvez le générer manuellement et créer le programme d'écoute en lançant la commande suivante :
      winrm create winrm/config/listener?Address=*+Transport=HTTPS 
      @{Hostname=”<the name of your server>”;CertificateThumbprint=”<certificate thumbprint>”}
      Dans ce cas, vous devez configurer les paramètre du pare-feu manuellement.
  2. Activation de WinRM pour négocier le schéma d'authentification. Le service WinRM propose plusieurs schémas d'authentification utilisables pour l'authentification côté client. Le serveur BigFix Inventory utilise le schéma d'authentification Négocier, activé par défaut.
    1. Pour vérifier le paramètre actuel de cette propriété, entrez :
      winrm get winrm/config/service/auth
    2. Pour définir la valeur requise de cette propriété, entrez :
      winrm set winrm/config/service/auth @{Negotiate="true"}
  3. Définition de la propriété AllowUnencrypted de WinRM. Le serveur requiert que la propriété soit définie sur "true".
    1. Pour vérifier les paramètres actuels, entrez :
      winrm get winrm/config/service
    2. Pour attribuer à cette propriété la valeur requise, entrez :
      winrm set winrm/config/service @{AllowUnencrypted="true"}
      Remarque : Définir cette valeur sur "true" n'implique pas que des données sensibles, telles que des noms d'utilisateur ou des mots de passe, seront transmis sur le réseau sous forme non chiffrée. Seul le contenu des messages SOAP sera envoyé sous forme de texte en clair. Si cela ne peut pas être accepté pour des raisons de sécurité, définissez le programme d'écoute HTTPS et utilisez le protocole sécurisé (HTTPS) lors de la définition d'un gestionnaire de machine virtuelle sur le serveur BigFix Inventory de sorte que le protocole TLS sera utilisé pour chiffrer tout le trafic réseau.
  4. Vérification du programme d'écoute. Après avoir défini le programme d'écoute HTTP ou HTTPS, vérifiez que vous pouvez vous connecter à distance au serveur Hyper-V.
    1. Sur le serveur Hyper-V, déterminez le port sur lequel le client Windows Remote Management pour le protocole HTTP ou HTTPS doit écouter. Entrez la commande suivante en ligne de commande Windows :
      winrm enumerate winrm/config/listener
      • Si le numéro de port est listé à la ligne Port, le programme d'écoute a été créé correctement.
      • Si vous recevez une erreur ou qu'il n'y a aucune information pour ce protocole, le programme d'écoute n'a pas été créé correctement. Revenez à l'étape un, puis redéfinissez le programme d'écoute.
    2. Pour vérifier le programme d'écoute, entrez :
      winrm enumerate winrm/config/listener /r:<transport>://
      <Hyper-V_server_name>:<port>/wsman /u:<user_id> /p:<password> /a:Negotiate
      Où :
      <transport>
      ést soit HTTP, soit HTTPS.
      <Hyper-V_server_name>
      ést le nom d'hôte du serveur Hyper-V. Si vous utilisez HTTPS, le nom d'hôte doit correspondre au nom commun (CN) du certificat.
      <port>
      ést le numéro de port que vous avez obtenu à l'étape précédente.
      <user_id>
      ést l'ID utilisateur utilisé pour se connecter au serveur Hyper-V.
      <password>
      ést le mot de passe utilisé pour se connecter au serveur Hyper-V.
      Par exemple :
      winrm enumerate winrm/config/listener /r:https://
      myhyperv.ibm.com:5986/wsman /u:administrator /p:abc /a:Negotiate
  5. Vérification de statut d'exécution du service Virtual System Management. Pour vérifier que le service fourni par la gestion Hyper-V est en cours d'exécution, accédez à Outils d'administration > Services sur le serveur Hyper-V. Recherchez le service appelé Gestion de la machine virtuelle Hyper-V
    • Si le service existe, mais qu'il n'est pas en cours d'exécution, démarrez le service.
    • Si le service n'existe pas, l'hôte Hyper-V n'a pas été configuré correctement.
  6. Vérification de la ressource MsCluster. Si le serveur est réparti en cluster, vérifiez que vous pouvez accéder à l'espace de nom MsCluster. Sur le serveur Hyper-V, entrez la commande suivante dans la ligne de commande Windows :
    winrm enumerate wmi/root/MsCluster/* 
    -dialect:"http://schemas.microsoft.com/wbem/wsman/1/WQL"
    -filter:"SELECT PrivateProperties, Type FROM MsCluster_Resource WHERE Type='Network Name' AND Flags='1'"

    Si cette commande échoue, consultez la documentation Microsoft relative à WMI for MsCluster.

  7. Vérification de la connectivité à distance et du certificat serveur. Pour vérifier la connectivité à distance et le certificat serveur, entrez la commande suivante en ligne de commande Windows :
    Restriction : Entrez la commande suivante dans la ligne de commande Windows du serveur BigFix Inventory. Si le serveur n'est pas installé sur une machine qui s'exécute sous Windows, utilisez une machine différente de l'hôte Hyper-V et qui s'exécute sous Windows 2008 ou une version ultérieure.
    winrm set winrm/config/client @{TrustedHosts="<Hyper-V_server_name>"} 
    winrm get winrm/config/client /r:<transport>://
    <Hyper-V_server_name>:<port>/wsman /u:<user_id> /p:<password> /a:Negotiate
    Où :
    <transport>
    ést soit HTTP, soit HTTPS.
    <Hyper-V_server_name>
    ést le nom d'hôte du serveur Hyper-V. Si vous utilisez HTTPS, le nom d'hôte doit correspondre au nom commun (CN) du certificat.
    <port>
    ést le numéro de port sur lequel le client Windows Remote Management pour le protocole HTTP ou HTTPS écoute.
    <user_id>
    ést l'ID utilisateur utilisé pour se connecter au serveur Hyper-V.
    <password>
    ést le mot de passe utilisé pour se connecter au serveur Hyper-V.
    Par exemple :
    winrm set winrm/config/client @{TrustedHosts="myhyperv.ibm.com"}
    winrm get winrm/config/client /r:https://
    myhyperv.ibm.com:5986/wsman /u:administrator /p:abc /a:Negotiate
    L'erreur suivante est souvent renvoyée quand un certificat autosigné est utilisé :
    Message WSManFault = Le certificat serveur sur la machine destinataire (myhyperv.ibm.com :5986) contient les erreurs suivantes : le certificat SSL est signé par une autorité de certification inconnue.
    Si vous recevez cette erreur, exportez le certificat autosigné depuis l'hôte Hyper-V, et importez-le sur l'hôte BigFix Inventory. Pour d'autres erreurs, consultez la documentation Microsoft pour connaître le code d'erreur renvoyé.
    Conseil : Pour plus d'informations sur la configuration Hyper-V, consultez le document suivant : échec de la connexion à Hyper-V CODVM0005é.