Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1416 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Windows+C#+accès à l'AD et GPO

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] Windows+C#+accès à l'AD et GPO

n°2112591
overider
Posté le 21-11-2011 à 11:43:27  profilanswer
 

Bonjour à tous.
 
Je déploie 4 MSI critiques via GPO sur une quarantaine de poste.
-1 MSI est un applicatif en C# développer en interne : appli2
-1 MSI est un applicatif en C++ dont le développement/maintien interne va être abandonner dans les mois à venir : appli1
-1 MSI contient des fichiers de configuration pour l'applicatif C++ :conf-appli1
-1 MSI contient des fichiers de configuration pour l'applicatif C# :conf-appli2
 
 
Jusqu’à présent pour déployer une nouvelle version, le service exploitation envoyait un mail à toutes les utilisateurs après créations des OU et GPO qui vont bien et demandait à redémarrer tous les postes. Nous avons atteinds les limites de cette procédure; des applicatifs qui devraient être déployés en moins de deux heures mettent maintenant plus d'une journée pour s'installer sur notre parc.
Pour vous donner une idée de l'arborescence des OU voici un exemple
OU : Agence de Villefranche
OU : appli1 V 6.7.0
GPO : Ordi - Attrib Soft - appli1 V6.7.0
GPO : Ordi - Attrib Soft - conf-appli1 V1.3.2
OU : appli2 V 2.3.0
GPO : Ordi - Attrib Soft - appli2 V2.3.0
GPO : Ordi - Attrib Soft - conf-appli2 V1.5.6
Poste : DI0201, DI0202
OU : appli2 V 2.3.1
GPO : Ordi - Attrib Soft - appli2 V2.3.1
GPO : Ordi - Attrib Soft - conf-appli2 V1.5.6
Poste : DI0203, DI0204
 
Lorsque j' veux installer la nouvelle version de appli2 sur di0201, je le faut passer de l'OU appli2 V 2.3.0 à l'OU appli2 V 2.3.1.
 
En tant qu'exploitant, on m'a demandé de trouver une solution pour interroger l'AD et les GPO.
Après ce bref brief, voici donc ma première question : n'existe t'il pas dans Active Directory une option qui me permette de bloquer l'execution de l'exe installé par le MSI ou l'accès au fichier de configuration tant que celui-ci n'est pas dans la version déployé par la GPO?
 
Ensuite, j'ai réfléchit sur une solution intégré à l'applicatif qui préviendrait l'utilisateur qu'il doit rebooter.
J'ai trouvé quelques sources http://morpheus.developpez.com/addotnet/ADCSharp/
C'est en fait un exemple de récupération d'info de l'active directory pour un utilisateur mais je pense qu'en adaptant cette ligne :
Code :
Sélectionner tout - Visualiser dans une fenêtre à part
 
searcher.Filter = "(objectClass=user)";
 
en
Code :
Sélectionner tout - Visualiser dans une fenêtre à part
 
searcher.Filter = "(objectClass=computer)";
 
cela doit être possible d'interroger la propriété DN (DistinguishName) qui contient l'attribut OU ou encore la propriété OU.
Mais que vont contenir ces propriétés ? l'ensemble de l'arborescence des OU.
ex pour DI0202 : Agence de Villefranche> appli1 V 6.7.0 > appli2 V 2.3.0
Ou seulement l'OU mère
ex pour DI0202 : appli2 V 2.3.0
 
Je pourrais arrêter là vu que les noms d'OU contiennent la version des applicatif en questions et comparer la version noté dans le nom de l'OU avec la version de l'applicatif actuellement installé sur le poste.
Mais je me dit que tant qu'à développer autant rendre tout ceci le plus générique possible.
Ainsi, est il possible de savoir les MSI qui sont attribués au GPO, d'aller récupérer les infos de ce MSI (version) et de les comparer avec la version actuellement installé?
 
Questions subsidiaires :
En furetant sur le net, j'ai trouvé 2 façons d'accéder à la base des programmes installés : MSIAPI et WMI. Apparemment, l'accès aux infos via MSI API se fait via le GUID du MSI; ce qui me semble pas très pratique. Comment se fait allés aux info des programmes installés via WMI? Quel est la méthode d'accès la plus souple ?
 
Merci à tous pour vos réponses.
 
NB : désolé pour la longueur du post et merci encore aux gens qui auront eu la patience et le courage d'aller jusqu'au bout.

mood
Publicité
Posté le 21-11-2011 à 11:43:27  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Windows+C#+accès à l'AD et GPO

 

Sujets relatifs
[C] Lecteur port série windows.h (readFile()) + SDLProcédure d'installation sur windows
[Divers / Windows] Comment cacher la fenêtre de console ?[C#] savoir si un processus est en train de réfléchir, possible ?
Fonction en language C[Divers / Ada ] Utiliser un bibliothèque partagé (inpout32.ddl)
[Divers/Ada] Ecrire pour un afficheur LCD sur Gnu/Linux et Windows[C] Puissance 4 arbres de possibilité
[C][Gnu] info utilisation memoire, processeur et swap [résolu] 
Plus de sujets relatifs à : [C#] Windows+C#+accès à l'AD et GPO


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR