tuto:gestion_de_parc:fwsupdates:start

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tuto:gestion_de_parc:fwsupdates:start [26/02/2016 17:14]
dani
tuto:gestion_de_parc:fwsupdates:start [22/12/2017 09:52] (Version actuelle)
heuzef [Suppression]
Ligne 5: Ligne 5:
  
   * Télécharger les mises à jour sur les postes en background   * Télécharger les mises à jour sur les postes en background
-  * Permet le déploiement sur des postes distants (fallback en webdav si le dépôt n'est pas accessible en samba)+  * Déploiement sur des postes distants (fallback en webdav si le dépôt n'est pas accessible en smb)
   * Avertir l'utilisateur des mises à jour, quand elles sont disponibles   * Avertir l'utilisateur des mises à jour, quand elles sont disponibles
   * Ne s'exécute durant l'arrêt que si programmé   * Ne s'exécute durant l'arrêt que si programmé
Ligne 17: Ligne 17:
 Ce changement va régler les principaux problèmes rencontrés avec WPKG, à savoir: Ce changement va régler les principaux problèmes rencontrés avec WPKG, à savoir:
  
-  * L'extrême lenteur d'exécution pour les postes distants (samba est très lent sur du WAN): tout étant exécuté depuis une copie local, il n'y a plus de différence que le poste soit à l'intérieur ou à l'extérieur du réseau. Seule la synchronisation sera plus lente, mais elle est faite en arrière plan+  * L'extrême lenteur d'exécution pour les postes distants (smb est très lent sur du WAN): tout étant exécuté depuis une copie local, il n'y a plus de différence que le poste soit à l'intérieur ou à l'extérieur du réseau. Seule la synchronisation sera plus lente, mais elle est faite en arrière plan
   * L'impossibilité de pousser des mises à jour sur des postes distants, s'il n'ont pas le VPN connecté   * L'impossibilité de pousser des mises à jour sur des postes distants, s'il n'ont pas le VPN connecté
-  * La communication vers les utilisateurs: il seront automatiquement avertie des mises à jour (plus besoin de faire un mail séparé)+  * La communication vers les utilisateurs: il seront automatiquement avertis des mises à jour (plus besoin de faire un mail séparé)
   * La possibilité de repousser la mise à jour (tout en forçant l'installation au bout d'un moment)   * La possibilité de repousser la mise à jour (tout en forçant l'installation au bout d'un moment)
   * Un affichage plus propre qu'une fenêtre DOS affichant simplement que des mises à jour sont en cours   * Un affichage plus propre qu'une fenêtre DOS affichant simplement que des mises à jour sont en cours
Ligne 25: Ligne 25:
   * Un feedback durant l'exécution (la barre de progression bouge à chaque installation/mise à jour/suppression)   * Un feedback durant l'exécution (la barre de progression bouge à chaque installation/mise à jour/suppression)
  
 +L'inconvénient avec cette nouvelle méthode est que chaque poste doit stocker la totalité du dépôt central (même les logiciels qui ne seront pas installés sur le poste). Cependant, ce dépôt représente ~2.5Go (dans notre cas), l'impact est donc assez faible
 ===== Captures ===== ===== Captures =====
 {{ :tuto:gestion_de_parc:fwsupdates:fwsupdates_checking.png |Vérification des mises à jour}} {{ :tuto:gestion_de_parc:fwsupdates:fwsupdates_checking.png |Vérification des mises à jour}}
Ligne 42: Ligne 43:
         * fws.ico: icône utilisé dans la barre des tâches         * fws.ico: icône utilisé dans la barre des tâches
     * bin: ce répertoire contient les scripts et binaires de l'outil     * bin: ce répertoire contient les scripts et binaires de l'outil
-      * chkupd.bat: ce script est l'interface à proprement parler. Il peut être exécuté directement, auquel cas il lance l'interface, ou il peut être exécuté avec l'argument loop. Dans ce cas, le script n'affiche dans l'immédiat, mais vérifie régulièrement dans le registre si des mises à jour sont disponibles. Si des mises à jour deviennent disponible, l'interface s'affiche et propose de les installer au prochain arrêt ou de repousser l'installation+      * chkupd.bat: ce script est l'interface à proprement parler. Il peut être exécuté directement, auquel cas il lance l'interface, ou il peut être exécuté avec l'argument loop. Dans ce cas, le script n'affiche rien dans l'immédiat, mais vérifie régulièrement dans le registre si des mises à jour sont disponibles. Si des mises à jour deviennent disponibles, l'interface s'affiche et propose de les installer au prochain arrêt ou de repousser l'installation
       * chkupd_launcher.bat et chkupd_wrapper.vbs: il s'agit de simple //wrappers// pour lancer chkupd.bat, permettant une exécution sans afficher la fenêtre DOS       * chkupd_launcher.bat et chkupd_wrapper.vbs: il s'agit de simple //wrappers// pour lancer chkupd.bat, permettant une exécution sans afficher la fenêtre DOS
-      * delayed_sync.bat: un wrapper qui attends une durée aléatoire avant de lancer le script sync.bat. La synchronisation des mises à jour sur les postes étant contrôlée par une tâche planifiée, ce délais aléatoire permet de distribuer la charge et d'éviter de surcharger le serveur+      * delayed_sync.bat: un //wrapper// qui attends une durée aléatoire avant de lancer le script sync.bat. La synchronisation des mises à jour sur les postes étant contrôlée par une tâche planifiée, ce délais aléatoire permet de distribuer la charge et d'éviter de surcharger le serveur 
 +      * now.vbs: un tout petit script qui ne fait qu'afficher le nombre de secondes depuis le premier Janvier 1970 sur la sortie standard
       * on_shutdown.bat: script exécuté à chaque arrêt de la machine. Si une mise à jour est programmée, alors wpkg_feedback.bat est lancé, sinon, le script se termine instantanément       * on_shutdown.bat: script exécuté à chaque arrêt de la machine. Si une mise à jour est programmée, alors wpkg_feedback.bat est lancé, sinon, le script se termine instantanément
       * sync.bat: ce script permet de synchroniser le dépôt de mises à jour du serveur central sur le poste, dans le répertoire C:\FWSUpdates\repository. Il vérifie ensuite si des changements sont à apporter, et les inscrit dans le registre. Dans un premier temps, l'accès sera testé par samba, et si ce n'est pas possible, le poste fait cette synchronisation par webdav (plus lent, mais fonctionne depuis n'importe où)       * sync.bat: ce script permet de synchroniser le dépôt de mises à jour du serveur central sur le poste, dans le répertoire C:\FWSUpdates\repository. Il vérifie ensuite si des changements sont à apporter, et les inscrit dans le registre. Dans un premier temps, l'accès sera testé par samba, et si ce n'est pas possible, le poste fait cette synchronisation par webdav (plus lent, mais fonctionne depuis n'importe où)
Ligne 55: Ligne 57:
         * conf.bat: contient la durée maximale de report des mises à jour         * conf.bat: contient la durée maximale de report des mises à jour
     * lang: ce répertoire contient la localisation de l'interface. Seuls l'anglais et le français sont disponibles (l'anglais étant la valeur par défaut, si la langue du Windows sur lequel le script est exécuté n'est pas disponible). Les fichiers sont nommés en utilisant la valeur hexadécimale de la //local ID// (voir https://msdn.microsoft.com/en-us/goglobal/bb895996.aspx). le contenu doit être encodé en CP850     * lang: ce répertoire contient la localisation de l'interface. Seuls l'anglais et le français sont disponibles (l'anglais étant la valeur par défaut, si la langue du Windows sur lequel le script est exécuté n'est pas disponible). Les fichiers sont nommés en utilisant la valeur hexadécimale de la //local ID// (voir https://msdn.microsoft.com/en-us/goglobal/bb895996.aspx). le contenu doit être encodé en CP850
-    * prodkeys: ce répertoire contiendra les clés de produit de la machine (Windows, Office etc...). Les fichiers stockés ici seront ensuite envoyé au serveur par webdav+    * prodkeys: ce répertoire contiendra les clés de produit de la machine (Windows, Office etc...). Les fichiers stockés ici seront ensuite envoyés au serveur par webdav
     * repository: ce répertoire contiendra la copie local du dépôt de mise à jour (dont le script wpkg.js)     * repository: ce répertoire contiendra la copie local du dépôt de mise à jour (dont le script wpkg.js)
     * status: ce répertoire contient les journaux de synchronisation     * status: ce répertoire contient les journaux de synchronisation
-    * offline_upgrade.bat: ce script permet de mettre à jour FWSUPdates au prochain redémarrage (nécessite une procédure à part, car il ne peut mettre à jour ses propres scripts qui sont en cours d'exécution)+    * offline_upgrade.bat: ce script permet de mettre à jour FWSUPdates au prochain arrêt (nécessite une procédure à part, car il ne peut mettre à jour ses propres scripts qui sont en cours d'exécution)
  
 D'autres éléments sont utilisés: D'autres éléments sont utilisés:
   * le fichier C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\chkupd_bgmon.vbs exécuté à l'ouverture de session lance chkupd.bat avec l'argument loop (pas d'affichage tant qu'aucune mise à jour n'est disponible, vérification régulière)   * le fichier C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\chkupd_bgmon.vbs exécuté à l'ouverture de session lance chkupd.bat avec l'argument loop (pas d'affichage tant qu'aucune mise à jour n'est disponible, vérification régulière)
-  * Les clés de registre utilisées sont dans HCLM\Software\FWS\Updates+  * Les clés de registre utilisées sont dans HKLM\Software\FWS\Updates
     * ChangesAvailableSince: date de disponibilité des mises à jour (stockée sous forme de nombre, eg 20160326 pour le 26 Mars 2016)     * ChangesAvailableSince: date de disponibilité des mises à jour (stockée sous forme de nombre, eg 20160326 pour le 26 Mars 2016)
     * ClientVersion: version de FWSUPdates     * ClientVersion: version de FWSUPdates
     * PendingChanges: Nombre de mises à jour à appliquer     * PendingChanges: Nombre de mises à jour à appliquer
-    * PendingCHangesList: liste des programmes à installer/mettre à jour/supprimer+    * PendingChangesList: liste des programmes à installer/mettre à jour/supprimer
     * RunOnShutdown: détermine si les mises à jour doivent être exécutées au prochain arrêt     * RunOnShutdown: détermine si les mises à jour doivent être exécutées au prochain arrêt
     * User     * User
Ligne 86: Ligne 88:
 signal-event wpkg-update signal-event wpkg-update
 </code> </code>
 +
 +Dans le fichier \\sas\wpkg\profiles.xml assurez-vous que les paquets **logs** et **cacert** ne soient plus inclus dans le profile **default** (ils ne sont plus nécessaires, et plus compatibles avec FWSUpdates)
  
 <note important>À partir de ce moment là, seuls les postes migrés vers FWSUpdates remonteront leurs journaux d'installation et les clés de licences utilisés, les postes utilisant l'ancienne version de WPKG ne le feront plus</note> <note important>À partir de ce moment là, seuls les postes migrés vers FWSUpdates remonteront leurs journaux d'installation et les clés de licences utilisés, les postes utilisant l'ancienne version de WPKG ne le feront plus</note>
Ligne 91: Ligne 95:
 ===== Installation client ===== ===== Installation client =====
  
-L'installation est simple. Il suffit d'aller sur \\sas\tools\scripts\fwsupdates et d'exécuter en tant qu'admin le script install.bat+L'installation est simple. Il suffit d'aller sur \\sas\tools\scripts\fwsupdates et d'exécuter en tant qu'admin le script ''install.bat''
  
 ===== Mise à jour progressive depuis WPKG ===== ===== Mise à jour progressive depuis WPKG =====
Ligne 103: Ligne 107:
 </code> </code>
  
 +<note important>Attention a supprimer l'ancienne définition du PC si elle existe déjà.</note>
 <note tip>Dans cet exemple, le poste en question se nomme WIN7</note> <note tip>Dans cet exemple, le poste en question se nomme WIN7</note>
 <note tip>L'important est d'ajouter le profile **fwsupdates** à la racine de l'entité XML. Ce profile permet de changer le chemin source des mises à jour pour utiliser la copie locale, sans impacter le reste des postes qui utilisent encore l'ancienne version.</note> <note tip>L'important est d'ajouter le profile **fwsupdates** à la racine de l'entité XML. Ce profile permet de changer le chemin source des mises à jour pour utiliser la copie locale, sans impacter le reste des postes qui utilisent encore l'ancienne version.</note>
 +
 +Il faut maintenant renommer le fichier C:\Windows\System32\wpkg.xml (ajouter .old par exemple)
 +
 +Il faut également lancer l'outil gpedit.msc, puis aller dans Configuration Ordinateur -> Paramètres Windows -> Scripts (démarrage/arrêt) -> Arrêt du système. Dans la liste, il faut sélectionner et supprimer le script wpkg.bat (et ne laisser que fwsupdates.vbs)
 +
 <note tip>Quand l'ensemble du parc aura été migré, il suffira d'inclure le profile fwsupdates au profile "default", et toutes les définitions individuelles des postes faite pendant la migration pourront être supprimées</note> <note tip>Quand l'ensemble du parc aura été migré, il suffira d'inclure le profile fwsupdates au profile "default", et toutes les définitions individuelles des postes faite pendant la migration pourront être supprimées</note>
 +
 +==== Finalisation ====
 +
 +Depuis la session de l'utilisateur :
 +
 +  - Execution FWSUpdates en admin
 +  - Programmer au prochain arrêt
 +  - Reboot
 +  - Execution FWSUpdates en admin
 +  - Vérifier en ligne
 +  - Installer maintenant
 +===== 1er synchro rapide =====
 +
 +FWSUpdates contient plusieurs Go de logiciels à copier en local, la première synchronisation peux donc être longue. Pour accélérer le processus il est possible de télécharger en amont sur une clé USB les données pour les copier directement sur le PC, évitant alors ce gros téléchargement. Mais pour cela il faut se servir de robocopy, car une copie classique ne conservera pas les dates de modification des fichiers et ils perturberons alors le bon fonctionnement de FWSUpdates.
 +
 +Depuis un PC Windows , exécutez la commande suivante :
 +
 +<code bash>
 +robocopy /MIR /R:10 \\192.168.20.1\wpkg\ E:\wpkg\
 +</code>
 +<note tip>
 +En admettant que ''E:'' soit la clé USB et qu'il y ait un répertoire vide ''wpkg'' à sa racine</note>
 +
 +La clé USB est prête.
 +
 +Enfin, sur un poste ayant initialiser l'installation de FWSUpdates, fermez complétement les processus en cours pour interrompre le téléchargement, puis lancez la commande :
 +
 +<code bash>
 +robocopy /MIR /R:10 E:\wpkg\ %SystemDrive%\FWSUpdates\repository\
 +</code>
 +
 +La copie local s'enclenchera. Une fois terminée la première synchronisation sera bien plus rapide.
 +
 +===== Suppression =====
 +
 +Pour supprimer proprement FWSupdate d'un poste :
 +
 +
 +- Via **gpedit.msc** : supprimer ''wpkg.bat'' ou ''fwsupdates.vbs'' des script exécuté à l'arrêt
 +
 +- Aller dans FIXME pour supprimer la tâche planifiée ''wpkg_sync''
 +
 +- Supprimer le raccourci dans Menu Démarrer -> Démarrage
 +
 +- Procéder ensuite à la suppression du dossier ''C:\FWSUpdates\''.
  • tuto/gestion_de_parc/fwsupdates/start.1456503256.txt.gz
  • Dernière modification: 26/02/2016 17:14
  • de dani