Aller au contenu principal

Installer l'agent sur Windows

Ce que fait la commande d'installation​

Le portail donne une commande d'une seule ligne. Vous la lancez dans un PowerShell ouvert en tant qu'administrateur. Elle fait tout, dans cet ordre :

  1. Elle télécharge le script d'installation depuis le serveur BaaStide, en HTTPS, et elle le lance depuis la mémoire. Aucun fichier de script n'est posé sur le disque.
  2. Elle télécharge l'agent de la version publiée, et le manifeste de cette version.
  3. Elle vérifie la taille et l'empreinte SHA-256 de l'agent téléchargé.
  4. Elle vérifie la signature Authenticode de l'agent. La signature doit être valide, et elle doit venir de l'éditeur attendu. Un autre éditeur arrête l'installation.
  5. Elle installe l'agent dans %ProgramFiles%\BaaStide\baastide.exe.
  6. Elle crée le dossier %ProgramData%\BaaStide, lisible par SYSTEM et les administrateurs locaux seuls.
  7. Elle crée le service Windows BaaStide, et l'entrée de l'agent dans Applications installées.
  8. Elle enrôle la machine avec votre jeton d'enrôlement, et écrit l'identité dans %ProgramData%\BaaStide\agent.conf.
  9. Elle démarre le service.

La commande écrit une ligne par étape. Elle finit par install: agent baastide <version> installed and started, suivi du chemin du journal.

Quand une étape échoue, la commande s'arrête tout de suite. Elle écrit la cause sur une ligne qui commence par install:.

Prérequis​

  • Windows x64, avec Windows PowerShell 5.1 ou PowerShell 7, en 64 bits. Voir Avant d'installer.
  • Un compte administrateur local sur la machine.
  • Un accès HTTPS sortant vers le serveur BaaStide, port 443.
  • Un jeton d'enrôlement, créé dans le portail. Voir Créer un jeton d'enrôlement.

Installer l'agent​

  1. Créez le jeton d'enrôlement dans le portail. Copiez la commande Windows : à lancer dans PowerShell en administrateur.

  2. Ouvrez une session sur la machine, avec un compte administrateur local.

  3. Ouvrez PowerShell avec Exécuter en tant qu'administrateur.

  4. Collez la commande, puis lancez-la. Elle a cette forme :

    $env:BAASTIDE_ENROLL_TOKEN='<jeton>'; & ([scriptblock]::Create((Invoke-RestMethod 'https://<serveur>/install.ps1'))) -Server 'https://<serveur>'

    Prenez toujours la commande du portail. Elle porte l'adresse de votre serveur et votre jeton. Quand votre MSP a changé les noms de l'agent, l'adresse du script et celle du serveur sont celles de votre MSP, et les noms du programme, du service et des dossiers suivent ce profil.

  5. Attendez la fin de la commande. Elle écrit une ligne par étape.

  6. Lisez la dernière ligne. Elle doit dire installed and started.

La commande retire le jeton de la session PowerShell quand elle finit.

L'agent ouvre ensuite sa connexion vers le serveur. La machine apparaît dans les endpoints du client, avec l'état En ligne.

Vérifier l'installation​

Lancez ces commandes dans le PowerShell administrateur.

  1. Get-Service BaaStide : l'état doit être Running.
  2. (Get-Service BaaStide).StartType : la réponse doit être Automatic. Le service démarre alors avec la machine.
  3. & "$env:ProgramFiles\BaaStide\baastide.exe" version : la commande donne la version de l'agent installé.
  4. Get-Content "$env:ProgramData\BaaStide\log\agent.log" -Tail 50 : lisez les dernières lignes du journal. Elles ne doivent porter aucune erreur de connexion.
  5. Test-Path "$env:ProgramData\BaaStide\agent.conf" : la réponse doit être True.

Vous voyez aussi l'agent dans Paramètres, Applications, Applications installées. Son champ de version suit les mises à jour.

Vérifiez aussi dans le portail :

  1. Ouvrez la fiche du client.
  2. Trouvez la machine dans ses endpoints.
  3. Lisez son état. Il doit être En ligne.

Une machine qui reste Hors ligne n'a pas de connexion sortante vers le serveur. Reprenez la section « Accès réseau sortant » de Avant d'installer.

Installer sans les scripts de sauvegarde​

Une politique de sauvegarde lance des scripts avant et après une sauvegarde. Vous coupez ces scripts sur une machine dès l'installation.

  1. Copiez la commande du portail.
  2. Ajoutez -NoScripts à la fin de la commande.
  3. Lancez la commande dans le PowerShell administrateur.

Sans cette option, l'installation ne change pas le choix courant de la machine. Une machine neuve accepte les scripts.

Réinstaller les fichiers de l'agent​

Cette procédure remet les fichiers de l'agent en place, et garde l'identité de la machine.

  1. Ouvrez PowerShell avec Exécuter en tant qu'administrateur.

  2. Lancez le script d'installation sans le jeton d'enrôlement :

    & ([scriptblock]::Create((Invoke-RestMethod 'https://<serveur>/install.ps1'))) -Server 'https://<serveur>'

    Prenez l'adresse du serveur dans la commande que le portail affiche.

  3. Lisez la sortie. Elle doit dire install: C:\ProgramData\BaaStide\agent.conf exists, keeping the current identity.

Ne relancez pas la commande complète du portail : elle porte un jeton, et ce jeton ne sert qu'une fois. L'installation irait jusqu'à l'enrôlement, puis elle échouerait.

La réinstallation arrête le service le temps de remplacer le programme, puis elle le démarre de nouveau. Quand une étape échoue après l'arrêt, le script redémarre le service avant de s'arrêter : il ne laisse jamais la machine sans agent en marche.

Piloter le service​

L'agent tourne dans le service Windows BaaStide. Son nom affiché est BaaStide agent. Il tourne sous le compte LocalSystem. Son démarrage est automatique, avec un délai au démarrage de la machine.

ActionCommande
Lire l'état du serviceGet-Service BaaStide
Lire le journalGet-Content "$env:ProgramData\BaaStide\log\agent.log" -Tail 100
Suivre le journal en directGet-Content "$env:ProgramData\BaaStide\log\agent.log" -Wait -Tail 20
Redémarrer le serviceRestart-Service BaaStide
Arrêter le serviceStop-Service BaaStide
Démarrer le serviceStart-Service BaaStide

Le service redémarre tout seul 10 secondes après un arrêt en erreur.

Un arrêt du service arrête aussi les sauvegardes de la machine. Le portail signale alors la machine Hors ligne.

Le journal fait 10 Mio au plus. L'agent garde un seul fichier plus ancien.

Limites et précautions​

  • L'agent Windows tourne sur x64 seulement, dans un PowerShell 64 bits. L'installation s'arrête dans un PowerShell 32 bits.
  • Le PowerShell doit être élevé. L'installation s'arrête tout de suite sans les droits d'administrateur.
  • La commande du portail contient toujours un jeton d'enrôlement. Ne la relancez pas, et ne la gardez pas dans un fichier.
  • L'installation refuse un dossier %ProgramFiles%\BaaStide ou %ProgramData%\BaaStide qui contient déjà les fichiers d'un autre programme.
  • Le service tourne sous LocalSystem. L'agent lit ainsi tous les fichiers de la machine, et il restaure les fichiers avec leurs droits.
  • Le dossier %ProgramData%\BaaStide et le fichier agent.conf sont privés : SYSTEM et les administrateurs locaux seuls y ont accès. L'agent remet ces droits à chaque démarrage. Ne les ouvrez pas à d'autres comptes.
  • L'agent lit les fichiers dans un instantané VSS. Quand l'instantané échoue, l'agent lit les fichiers directement, et la tâche porte un avertissement. Un fichier verrouillé par un autre programme est alors ignoré : la tâche finit en Partielle, et la liste des fichiers en erreur donne la cause.
  • Une politique n'accepte pas un chemin UNC (\\serveur\partage).
  • L'enrôlement est refusé quand une autre machine active du même client porte déjà le même identifiant machine. Une machine clonée garde l'identifiant de son modèle. Préparez le modèle avec sysprep /generalize avant de le cloner.
  • Un refus du serveur n'est jamais réessayé. La commande s'arrête, et elle écrit la cause.
  • L'agent se met à jour tout seul. Il revient à la version précédente quand la nouvelle ne démarre pas. Ne remplacez pas baastide.exe à la main.

Référence​