Sujet
Cet article explique comment et dans quels cas utiliser le script d'automatisation « NinjaOne Agent Deployment by AD Immediate Scheduled Task GPO » disponible dans la bibliothèque de modèles d'automatisation NinjaOne.
Environnement
- Gestion des terminaux NinjaOne
- Microsoft Windows
Description
NinjaOne propose une fonctionnalité de découverte et de déploiement Active Directory (AD) qui simplifie le déploiement d'agents dans les environnements contrôlés par un domaine AD. Reportez-vous à NinjaOne Endpoint Management : Découverte et déploiement Active Directory pour en savoir plus sur cette option.
Vous pouvez également utiliser un modèle de déploiement d'agent basé sur le domaine qui utilise une tâche planifiée immédiate via un objet de stratégie de groupe (GPO). Il peut être plus approprié d'utiliser ce modèle si au moins l'un des scénarios suivants s'applique :
- Vous devez déployer l'agent sur des ordinateurs portables distants et des appareils similaires qui se connectent au réseau via un réseau privé virtuel (VPN).
- Vous disposez d'un domaine plus étendu comportant un grand nombre d'unités d'organisation (OU) contenant vos objets Ordinateur, ou vous devez effectuer un déploiement simultané vers plusieurs OU.
- Vous souhaitez déployer l'agent sur vos objets ordinateurs en fonction de leur appartenance à un groupe de sécurité plutôt que par unité d'organisation.
- Vous souhaitez enregistrer des objets ordinateurs dans différentes unités d'organisation ou différents groupes de sécurité à différents emplacements au sein de NinjaOne.
- Vous devez déployer l'agent sur les objets ordinateurs plus fréquemment qu'une fois par jour, par semaine ou par mois.
- Vos objets informatiques transitent par Internet via un proxy.
- Vous ne pouvez pas connecter NinjaOne à votre contrôleur de domaine (DC) pour des raisons de sécurité.
- Vous n'avez pas d'accès direct au DC et administrez le domaine via les Outils d'administration de serveurs à distance (RSAT).
- Vous devez effectuer le déploiement simultanément sur les serveurs et les postes de travail.
- Vous devez effectuer le déploiement sur des objets Ordinateur situés dans différents segments de réseau, quel que soit celui dans lequel réside le DC.
Pour utiliser un modèle de déploiement d'agent basé sur le domaine avec GPO, accédez au script d'automatisation disponible dans la bibliothèque de modèles d's NinjaOne, intitulé « NinjaOne Agent Deployment by AD Immediate Scheduled Task GPO ». Reportez-vous à la bibliothèque d'automatisation : scripts de modèles pour connaître les étapes de navigation.
Index
Sélectionnez une catégorie pour en savoir plus :
- Fonctionnalités et avantages supplémentaires
- Prérequis, champs personnalisés et valeurs des variables de script
- Processus de script d'automatisation
- Comment modifier le champ personnalisé de la liste des cibles GPO de NinjaOne
- Ressources supplémentaires
Fonctionnalités et avantages supplémentaires
Outre les cas d'utilisation décrits dans la section Description de cet article, ce script offre les fonctionnalités et avantages suivants :
- Le GPO généré par l'automatisation est une tâche planifiée immédiate. La tâche s'appliquera immédiatement lors de la prochaine actualisation automatisée ou manuelle de la stratégie de groupe, vous n'avez donc pas besoin de redémarrer vos terminaux pour déployer l'agent NinjaOne. La tâche s'appliquera ensuite de manière continue à chaque actualisation automatisée ou manuelle de la stratégie de groupe jusqu'à ce que l'agent soit déployé avec succès. La tâche s'appliquera également aux appareils distants, tels que les ordinateurs portables, dès qu'ils se connectent au réseau, que ce soit via un VPN ou autrement, et par la suite au contrôleur de domaine, sans nécessiter de VPN « toujours actif ».
- Le processus téléchargera automatiquement le fichier d'installation générique de l'agent depuis la plateforme NinjaOne sur laquelle le terminal l'exécutant est enregistré, et vérifiera la signature numérique.
- Cette automatisation est entièrement compatible avec les environnements Microsoft Entra Domain Services, et il n'est pas nécessaire de maintenir un serveur de gestion en ligne en permanence. Elle enregistrera tous les fichiers requis par le GPO dans le magasin des stratégies de groupe.
- Notez que ce script n'est pas compatible avec Microsoft Entra ID ou Microsoft Intune. Pour obtenir des instructions sur le déploiement via Intune, consultez Installation de l'agent NinjaOne : Déploiement via Microsoft Intune.
- Le cas échéant, NinjaOne transmettra le mot de passe du proxy à l'automatisation via un champ personnalisé sécurisé et ne le stockera que sous forme chiffrée, et uniquement dans la tâche planifiée immédiate sur le contrôleur de domaine. Le GPO transmettra le mot de passe chiffré au terminal sous forme d'argument de script PowerShell ; il ne sera donc jamais stocké sur le terminal ni nulle part en texte clair.
- Le script déclenché par le GPO présente les caractéristiques suivantes :
- Il détectera si le service de l'agent NinjaOne est installé sur le terminal et ne tentera d'installer l'agent que si le service n'est pas trouvé. Le script détectera et supprimera tout vestige d'installations ou de désinstallations précédentes ayant échoué afin de maximiser les chances de réussite du déploiement.
- Il vérifie l'en-tête du fichier d'installation actuel de l'agent provenant de NinjaOne (il ne télécharge que l'en-tête, pas le fichier entier) pour déterminer si une mise à jour est disponible, et la télécharge et la vérifie si c'est le cas. Cela garantit que vos terminaux n'installeront pas un agent obsolète pour se mettre immédiatement à jour.
- Il peut, en option, enregistrer des événements dans le journal des événements Windows pour faciliter le dépannage et le diagnostic des déploiements ayant échoué.
- Par mesure de sécurité, le script d'automatisation stockera les références aux unités d'organisation (OU) ou aux groupes de sécurité utilisées pour déterminer l'ID du jeton d'emplacement sous forme d'identificateurs uniques globaux (GUID), et non sous forme de noms en texte clair.
Prérequis, champs personnalisés et valeurs des variables de script
L'automatisation « Déploiement de l'agent NinjaOne par GPO de tâche planifiée immédiate AD » part du principe que vous avez activé la tokenisation des agents, car elle utilisera les identifiants de jeton pour déterminer l'emplacement auquel les terminaux s'enregistreront. Reportez-vous à la section « Plateforme NinjaOne : tokenisation des agents » pour plus d'informations sur la tokenisation des agents.
En fonction de vos privilèges d'accès au sein du domaine, vous pouvez exécuter ce script d'automatisation sur n'importe quel contrôleur de domaine (DC) ou sur n'importe quel ordinateur joint au domaine sur lequel les fonctionnalités Windows optionnelles RSAT Active Directory et RSAT Group Policy sont installées et actives.
Si la configuration de votre domaine empêche le compte système du contrôleur de domaine local d'effectuer des modifications au niveau du domaine, exécutez l'automatisation en utilisant des identifiants disposant des privilèges appropriés. Ces modifications incluent la création et l'importation de GPO, la lecture d'objets AD, ainsi que la lecture et l'écriture sur le partage du volume système (SYSVOL). Pour plus d'informations sur l'utilisation des identifiants dans NinjaOne, consultez NinjaOne Endpoint Management : Échange d'identifiants.
De même, si vous devez lire ou écrire dans des champs personnalisés, vous devez exécuter l'automatisation avec des informations d'identification pouvant être élevées pour effectuer ces opérations.
NinjaOne. Si le script détecte ces GPO, il échouera immédiatement.Le script d'automatisation écrira les fichiers dont il a besoin dans le dossier {[Votre GUID de GPO]} situé dans le dossier Policies du partage SYSVOL. Ce partage se répliquera automatiquement sur tous les autres contrôleurs de domaine sans nécessiter de fonctionnalités Windows supplémentaires telles que la réplication DFS (Distributed File System), de sorte que le contrôleur de domaine sur lequel vous l'exécutez est arbitraire pour les domaines à plusieurs contrôleurs de domaine.
Champs personnalisés utilisés pour l'automatisation
Le script d'automatisation peut utiliser tout ou partie des champs personnalisés suivants. Ces champs personnalisés sont facultatifs, selon vos besoins.
| Nom | Type | Portée | Autorisations | Description |
|---|---|---|---|---|
| ID du jeton de localisation NinjaOne | Texte | Organisation, Emplacement |
Accès technicien: Modifiable Automations d' : Lecture seule |
Ce champ contient l'ID du jeton d'emplacement pour l'emplacement auquel les appareils s'enregistreront, s'il n'est pas déclaré par la variable de script. Pour plus de détails sur la manière d'obtenir l'ID du jeton d'emplacement, reportez-vous à la section de cet article intitulée « Comment obtenir l'ID du jeton d'emplacement ». |
| Liste des cibles GPO NinjaOne | WYSIWYG | Appareil |
Accès technicien: Modifiable Automatisations: Lecture/Écriture |
Si la portée de la cible est définie sur « Unités d'organisation » ou « Groupes de sécurité », ce champ contient la liste des unités d'organisation ou des groupes de sécurité à configurer ou à cibler, ainsi que leurs identifiants de jeton d'emplacement respectifs. NinjaOne n'utilisera pas ce champ pour toute autre portée de cible. |
| Liste des noms d'hôte GPO NinjaOne | WYSIWYG | Appareil |
Accès technicien: Modifiable Automatisations: Écriture uniquement |
Si la portée cible est définie sur des unités d'organisation (OU) ou des groupes de sécurité, ce champ contient la liste des noms d'hôte des objets ordinateurs au sein des cibles. NinjaOne n'utilisera pas ce champ pour toute autre portée cible. |
| Mot de passe du proxy | Sécurisé | Organisation, Emplacement |
Accès technicien: Modifiable Automatisations: Lecture seule |
Pour la connexion via un proxy, ce champ contient le mot de passe des informations d'identification du proxy, le cas échéant. |
Pour les déploiements à grande échelle, il peut être utile de remplir le champ personnalisé « NinjaOne Location Token ID » à grande échelle à l'aide d'un fichier d'importation CSV. Vous trouverez les instructions pour ce faire dans notre Script Share : Importer des données d'une feuille de calcul vers des champs personnalisés (API) (page de la communauté Dojo).
Variables de script utilisées pour l'automatisation
Le script d'automatisation utilise les variables de script suivantes :
| Nom | Type | Description |
|---|---|---|
| Nom du GPO | Texte | Cette variable correspond au nom du GPO. Il peut s'agir de n'importe quel identifiant unique, afin de respecter toute convention de nommage, mais doit contenir la chaîne NinjaOne. |
| Portée de la cible | Liste déroulante | Cette variable contrôle le ciblage de l'OGP via des liens et le filtrage des groupes de sécurité, selon le cas. Les options disponibles sont Aucun ( pour le ciblage au niveau des éléments), Racine du domaine, Unités d'organisation ou Groupes de sécurité. Le ciblage des unités d'organisation et des groupes de sécurité prend en charge la substitution de l'ID de jeton d'emplacement d'enregistrement. |
| Activer la journalisation des événements | Case à cocher | Si cette option est sélectionnée, cette variable entraînera l'écriture d'événements Windows par le script GPO dans le journal des événements Application sous la source NinjaOneGPODeployment au fur et à mesure de son exécution. Cette option est utile pour diagnostiquer les problèmes de déploiement sur des terminaux distants à grande échelle (par exemple, avec un collecteur d'événements Windows) ou individuellement au niveau du terminal. |
| Liste des ordinateurs de sortie | Case à cocher | Si cette option est sélectionnée, cette variable affichera la liste des noms d'hôte des objets Ordinateur de chaque unité d'organisation (OU) ou groupe de sécurité concerné dans le champ personnalisé « Liste des noms d'hôte GPO NinjaOne » lors du ciblage d'unités d'organisation ou de groupes de sécurité. |
| Recréer la liste des cibles | Case à cocher | Si cette option est sélectionnée, cette variable remplira à nouveau le champ personnalisé « NinjaOne GPO Target List » lors du ciblage d'unités d'organisation ou de groupes de sécurité. Utilisez cette option pour résoudre les décalages dans la liste des cibles causés par des modifications apportées à votre architecture AD. |
| Supprimer le GPO | Case à cocher | Si cette option est sélectionnée, elle supprimera le GPO ainsi que les fichiers et dossiers associés du contrôleur de domaine. Vous devez définir la portée de la cible sur Aucune et laisser les options Recréer la liste des cibles et Lister les ordinateurs de sortie désélectionnées. |
| ID du jeton | Texte | Collez l'ID du jeton d'emplacement dans cette variable si vous n'utilisez pas le champ personnalisé « NinjaOne Location Token ID » à cette fin. Pour plus de détails sur la manière d'obtenir l'ID du jeton d'emplacement, reportez-vous à la section de cet article intitulée « Comment obtenir l'ID du jeton d'emplacement ». |
| Détection automatique du proxy | Case à cocher | Si cette option est sélectionnée, cette variable utilisera la détection automatique du proxy (si vous êtes derrière un proxy). |
| Hôte du proxy | Adresse IP | Il s'agit du nom d'hôte du proxy. Ce champ est obligatoire si vous utilisez un proxy sans détection automatique. |
| Port du proxy | Entier | Il s'agit du numéro de port du proxy. Ce champ est obligatoire si vous utilisez un proxy sans détection automatique. |
| Nom d'utilisateur du proxy | Texte | Il s'agit du nom d'utilisateur du proxy, si nécessaire. |
| Mot de passe du proxy | Case à cocher | Si cette case est cochée, cette variable indiquera qu'un mot de passe est requis pour le nom d'utilisateur du proxy. Le script récupérera le mot de passe à partir du champ personnalisé sécurisé « Mot de passe du proxy ». |
Processus du script d'automatisation
Cette section décrit les étapes du flux de travail pour le processus du script d'automatisation.
Première étape : préliminaires
Le script commence par valider toutes les conditions préalables et échouera immédiatement si l'une d'entre elles n'est pas remplie.
Voici quelques exemples, sans que cette liste soit exhaustive :
- Validation des variables du script
- Vérification que le terminal est membre du domaine et qu'il s'agit soit d'un contrôleur de domaine (DC), soit d'un autre ordinateur sur lequel RSAT pour AD et GPO sont installés et actifs
- S'assurer que le compte qui exécute le script est actif et peut écrire dans SYSVOL
Le script va ensuite récupérer la liste de tous les objets Ordinateur et extraire toutes les unités d'organisation (OU) et tous les groupes de sécurité qui les contiennent, ce qui permettra de filtrer ceux qui ne contiennent que des objets Utilisateur. Le script va ensuite récupérer l'ID du jeton d'emplacement soit à partir de la variable de script, soit à partir du champ personnalisé.
Deuxième étape : configuration de la sélection de la portée cible
L'étape suivante dépend de la portée cible. Pour les unités d'organisation (OU) et les groupes de sécurité, si c'est la première fois que vous exécutez le script, ou si vous sélectionnez « Recréer la liste des cibles », le script remplira le champ personnalisé « Liste des cibles GPO NinjaOne » avec la liste des noms d'unités d'organisation ou de groupes de sécurité ainsi que l'identifiant de jeton d'emplacement fourni, puis s'arrêtera. Le script renverra les noms canoniques des unités d'organisation plutôt que leurs noms distinctifs, afin qu'ils soient plus faciles à comprendre.
À ce stade, vous pouvez modifier la portée du déploiement et, si vous le souhaitez, contrôler les emplacements dans lesquels vous enregistrerez les objets Ordinateur au sein de chaque unité d'organisation ou groupe de sécurité. Pour obtenir des instructions, reportez-vous à la section de cet article intitulée « Comment modifier le champ personnalisé NinjaOne GPO Target List ».


Troisième étape : Chiffrement du mot de passe du proxy
Si vous avez configuré des détails de proxy incluant un mot de passe, le script lira le champ personnalisé sécurisé et chiffrera la chaîne de caractères de la même manière que lors d'un chiffrement local.
Étape 4 : Création du GPO principal et des fichiers associés
Le script d'automatisation effectue les actions suivantes au cours de la quatrième étape :
- Le script d'automatisation supprimera tout GPO de déploiement préexistant portant le même nom afin de supprimer tous les liens préexistants.
- Le script créera un nouveau GPO et personnalisera le modèle inclus dans le script d'automatisation pour le domaine et le contrôleur de domaine sur lequel il s'exécute.
- Le script importera le contenu personnalisé de l'OGP dans l'OGP nouvellement créé. Le script ciblera et liera l'OGP en conséquence, soit à la racine du domaine, au niveau de l'unité d'organisation (OU), à la racine du domaine avec filtrage par groupe de sécurité de la tâche planifiée immédiate, soit pas du tout.


- Une fois l'OGP finalisé, lié et filtré selon les besoins, le script d'automatisation génère le script que l'OGP déclenchera lors de l'actualisation de la stratégie, lequel est personnalisé en fonction du domaine et du contrôleur de domaine. Le script est automatiquement personnalisé selon les besoins, notamment en ce qui concerne la journalisation des événements Windows, le ciblage par unité d'organisation ou groupe de sécurité, les vérifications de mise à jour de l'agent et d'autres spécifications.
Le script sera automatiquement enregistré dans le dossier GPO.
- Pour le ciblage des unités d'organisation (OU) et des groupes de sécurité, le script d'automatisation créera un fichier CSV de référence contenant les GUID cibles et les GUID d'emplacement NinjaOne correspondants dans le dossier GPO. Si vous avez sélectionné « Output Computer List », le script enregistrera également la liste des OU et des groupes de sécurité cibles concernés ainsi que leurs objets ordinateurs respectifs dans le champ personnalisé « NinjaOne GPO Hostname List ».

- Le script d'automatisation télécharge le fichier d'installation de l'agent dans le dossier GPO et vérifie la signature numérique avant d'afficher un message de résultat final.
Étape 5 : Processus du script GPO
Lorsque l'actualisation automatisée ou manuelle de la stratégie de groupe active le script, celui-ci vérifie d'abord si le service de l'agent NinjaOne existe et, si c'est le cas, se ferme immédiatement.
Si le service de l'agent NinjaOne n'existe pas, le script supprimera alors tous les résidus potentiels de toute tentative d'installation ou de désinstallation ayant échoué précédemment afin de maximiser les chances de réussite de l'installation.
L'étape suivante dépend de la configuration de la portée cible :
- Pour le ciblage par unité d'organisation (OU), le script récupère le GUID de l'unité d'organisation du terminal et le compare à ceux figurant dans le fichier CSV de recherche. Cette comparaison détermine l'ID du jeton d'emplacement NinjaOne.
- Pour le ciblage par groupe de sécurité, le script récupère les GUID des groupes de sécurité dont le terminal est membre et les compare à ceux du fichier CSV de référence. Cette comparaison permet de déterminer l'ID du jeton d'emplacement NinjaOne.
- Pour le ciblage de la racine du domaine ou l'absence de ciblage, l'ID du jeton d'emplacement fourni par la variable de script ou le champ personnalisé est déjà codé en dur.
L'action suivante effectuée par le script GPO dépend de la plateforme à partir de laquelle l'automatisation a été exécutée. Selon le cas, le script GPO copiera le fichier d'installation de l'agent depuis le contrôleur de domaine, ou vérifiera la date du fichier d'installation de l'agent actuellement disponible sur NinjaOne à partir de son en-tête. Si la date du fichier d'installation disponible sur NinjaOne est identique à celle du fichier sur le contrôleur de domaine, le script copiera le fichier d'installation de l'agent depuis le contrôleur de domaine. Toutefois, si la date du fichier d'installation disponible sur NinjaOne est postérieure à celle du contrôleur de domaine, le script téléchargera le fichier d'installation de l'agent le plus récent et vérifiera sa signature numérique. Si le téléchargement ou la vérification de la signature numérique échoue, le script reviendra à la copie du fichier d'installation depuis le contrôleur de domaine ; en cas de réussite, le script utilisera le fichier le plus récent.
Ensuite, le script installera l'agent, configurera l'appareil pour qu'il s'enregistre à l'emplacement correct déterminé par l'ID du jeton d'emplacement, puis supprimera la copie locale.
Si vous avez fourni une configuration de proxy, le script la configurera une fois l'agent installé. Si la configuration de proxy comprend un mot de passe, celui-ci sera transmis sous forme de chaîne cryptée en tant qu'argument du script, de sorte qu'il ne sera jamais stocké sur le terminal.
Enfin, le script attendra la confirmation de l'enregistrement réussi auprès de l'application Web NinjaOne, ce qui peut échouer si l'ID du jeton d'emplacement n'est pas valide. Après avoir confirmé l'état de l'enregistrement, le script se fermera.
Si vous avez sélectionné « Activer la journalisation des événements », le script enregistrera les événements dans le journal des événements de l'application avec la source NinjaOneGPODeployment tout au long du processus. Dans la figure 6 ci-dessous, notez la source NinjaOneGPODeployment dans le journal des événements de l'application :


Comment modifier le champ personnalisé « NinjaOne GPO Target List »
Vous pouvez modifier le champ personnalisé « NinjaOne GPO Target List » après la première exécution du script, après avoir recréé la liste des cibles, ou à tout autre moment par la suite.
Pour supprimer une unité d'organisation (OU) ou un groupe de sécurité de la portée, supprimez la ligne à l'aide de l'option « Supprimer la ligne » dans le menu Actions. Reportez-vous à la figure 8 pour un exemple illustré.

Vous devez apporter au moins une modification à la liste de cibles initiale lorsque vous ciblez des OU, soit en supprimant une ou plusieurs lignes de la portée, soit en modifiant un ou plusieurs identifiants de jeton d'emplacement.
L'exécution de l'automatisation tout en ciblant toutes les unités d'organisation avec le même ID de jeton d'emplacement donnera le même résultat que le ciblage de la racine du domaine ; dans ce scénario, l'automatisation échouera donc.
Notez qu'il s'agit d'un scénario différent de celui consistant à cibler tous les groupes de sécurité sans modifier aucun ID de jeton d'emplacement, car il peut arriver que tous les objets Ordinateur ne soient pas membres d'un groupe.
Pour chaque unité d'organisation ou groupe de sécurité dont vous souhaitez modifier l'emplacement cible, vous aurez besoin de l'ID de jeton d'emplacement correspondant.
Comment obtenir l'ID du jeton d'emplacement
Pour trouver votre ID de jeton d'emplacement dans NinjaOne, procédez comme suit :
- Accédez au tableau de bord du système NinjaOne et ouvrez l'onglet « Devices » (Appareils). Sélectionnez « Agent Installers » (Programmes d'installation d'agents).
- Copiez l'ID de jeton correspondant à l'emplacement souhaité dans la colonne « Token » et collez-le dans la colonne « Token ID » de la ligne correspondante dans la liste cible. L'ID de jeton que vous choisissez doit prendre en charge un rôle de périphérique Windows, sinon ces terminaux ne pourront pas s'enregistrer sur la plateforme.

- Une fois que vous avez terminé, enregistrez les modifications.
- Relancez le script d'automatisation. Le script validera les modifications et échouera si l'une ou plusieurs des conditions suivantes sont remplies :
- Vous avez supprimé la ligne d'en-tête, la ligne de fin ou toutes les lignes cibles.
- Vous ciblez des unités d'organisation (OU), mais n'avez apporté aucune modification au champ personnalisé.
- Vous avez défini la portée cible sur « Security Groups », mais le champ personnalisé contient des unités d'organisation (OU), ou inversement.
- Vous avez modifié les noms des unités d'organisation ou des groupes de sécurité, de sorte qu'ils ne correspondent plus au contrôleur de domaine.
- Un ou plusieurs objets ordinateur existent dans plusieurs groupes de sécurité avec des ID de jeton d'emplacement en conflit.
- Un identifiant de jeton est enregistré dans un format GUID non valide.
Une fois que le script d'automatisation a validé le champ personnalisé, il passe à l'étape trois.
Ressources supplémentaires
Pour en savoir plus sur l'automatisation de vos workflows NinjaOne et la personnalisation de votre instance, consultez les articles suivants :