Journal Windows 10 servi pour un plateau

Posté par  . Licence CC By‑SA.
13
18
fév.
2018

Bonjour cher journal,

Oui, le sujet est étonnant à présenter sur linuxfr, mais comme je ne suis pas un grand fan du fait de payer lorsque je suis contraint d'utiliser un Windows, voici de quoi obtenir une VM Windows 10 à moindre frais.

Il s'agit d'une machine virtuelle fournie officiellement par Microsoft sur son site "modern.ie" pour tester ses navigateurs web. Cette VM existe à la sauce virtualbox, encapsulée dans une box vagrant. La license MS contraint/permet d'utiliser cette VM pendant 90 jours. Si l'on considère qu'il faut 5 minutes pour configurer (montage + approvisionnement) cette machine, le ratio 5 minutes / 90 jours est un ratio intéressant.

Toute la difficulté est dans les subtilités pour parvenir à ses fins: obtenir une VM prète à l'emploi, configurable à souhait.

Dit autrement, on s'appuie sur vagrant pour préparer un accès avec le protocole "winrm", et on passe ensuite le relai à ansible, qui depuis sa version 2.4 fait plutôt bien son boulot pour approvisionnner (provisioning) des machines Windows.

La grande difficultés est de contourner tous les pièges.
Exemples:
* Lorsque vagrant se connecte au serveur OpenSSH présent sur la VM Windows 10, il fait appel à "bash" au lieu du "sh" embarqué ave OpenSSH. Or ce bash ne permet même pas de lancer un "export" => tout foire.
* Pour pouvoir changer les paramètres du réseau de la VM, il faut demander au powershell d'exécuter une commande en faisant fi des contrôles des droits d'accès. Cela fait parti des grands mystères de Windows…

En bref, voici le lien vers l'article qui donne les détails de mise en oeuvre.

L'objectif sous-jacent est de pouvoir par la suite monter une ferme de VMs permettant de lancer des tests sur serveurs selenium. La contrainte forte qui me pousse à utiliser une VM Windows est qu'il reste encore de nombreux utilisateurs de IE11/Edge => OS Windows obligatoire. Et tout ce travail peut justement être fait avec ansible.

  • # installer win10 sans clé tout simplement non ?

    Posté par  . Évalué à 5.

    Heu… pourquoi ne te contentes tu pas d'installer un windows 10 normal sans clé d'activation qui va se périmer au bout de quelques semaines ?

    La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".

  • # Bonjour

    Posté par  . Évalué à 3.

    Pour pouvoir changer les paramètres du réseau de la VM, il faut demander au powershell d'exécuter une commande en faisant fi des contrôles des droits d'accès. Cela fait parti des grands mystères de Windows…

    Je me demande quelle tête a la commande PS… elle est cryptique à souhait au point d’être imbitable et de faire saigner des yeux ?

    • [^] # Re: Bonjour

      Posté par  . Évalué à 4.

      Ça donne ça :

      /cygdrive/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -InputFormat None -NoProfile -ExecutionPolicy Bypass -Command '$networkListManager = [Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]"{DCB00C01-570F-4A9B-8D69-199FDBA5723B}")) ; $connections = $networkListManager.GetNetworkConnections() ; $connections | % {$_.GetNetwork().SetCategory(1)}'

      Déjà, dans l'ensemble, c'est moche.
      Mais précisément, il s'agit de "-ExecutionPolicy Bypass". Il y a de nombreuses fois sous Windows où j'abandonne avant de comprendre quelle peut être la cohérence du système. J'ai peur que mon cerveau grille en chemin. Et là, on demande à bypasser une policy… Et c'est tout, la commande passée fonctionne comme espérée. Mais alors, c'est quoi cette policy? À quoi ça sert de s'infliger des policies restrictives qui ne sont finalement pas bloquantes?
      Voilà, c'est ce genre de choses qui me dépasse…

      • [^] # Re: Bonjour

        Posté par  . Évalué à 6. Dernière modification le 18 février 2018 à 23:36.

        Merci pour ta réponse. C’est archi-moche, on comprend facilement pourquoi MS a fini par intégrer Bash :) Pour le coup on trouve la documentation facilement en cherchant "powershell execution policy" : https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-6

        quelle peut être la cohérence du système.

        Le besoin de bypasser, ça peut être parce que le script PS doit charger des fichiers de configuration, ou alors il n’est pas signé… C’est ce que je devine en lisant rapidement le lien ci-dessus.

        À quoi ça sert de s'infliger des policies restrictives qui ne sont finalement pas bloquantes?

        Elles ne sont pas bloquantes car tu lances ton script avec les droits administrateur, sans les droits administrateurs tu ne pourrais, je pense, pas faire ce bypass. C’est comme quand tu bypass la vérification de l’hôte en utilisant SSH, c’est possible de le faire mais ça n’enlève rien à l’utilité de la vérification de l’hôte en elle-même pour autant.

      • [^] # Re: Bonjour

        Posté par  . Évalué à 3.

        Lol…

        Set-NetConnectionProfile -Name "Your Network Name" -NetworkCategory Public

        • [^] # Re: Bonjour

          Posté par  . Évalué à 3. Dernière modification le 19 février 2018 à 06:32.

          Bien vu!

          En fait, le script est censé aussi fonctionner sur la VM modern.ie Windows 7, qui contient un powershell pauvre sur lequel "Set-NetConnectionProfile" ne fonctionne pas. Soit le script n'existe pas, soit il y a un problème de droits, je ne sais plus.

          Je vais corriger ça, merci.

          Tout cela est passionnant… Bref, le résultat est au RDV.

      • [^] # Re: Bonjour

        Posté par  (site web personnel) . Évalué à 3.

        Ah, c'est le truc pour forcer un réseau privé au lieu de public, c'est ça ? J'ai galéré avec leurs différentes images, si tu veux le faire au niveau graphique ça change tout le temps de place et sur l'image Win10 je ne trouvais même plus d'interface graphique pour le faire… Effectivement, sans ça tu as beau avoir le pare-feu désactivé et les serveur winrm activé, impossible de causer en winrm.

  • # Il y a plus simple

    Posté par  . Évalué à 4.

    Windows 10 peut être utilisé sans licence et sans activation. Suffit de ne pas saisir de numéro de série à l'installation. Windows n'expirera pas et la seule fonctionnalité désactivé est la "personnalisation" (par exemple le changement de fond d'écran).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.