Un peu de mon expérience dans le monde .NET
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 29 | 30 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 10 | 11 | 12 | | 13 | 14 | 15 | 16 | 17 | 18 | 19 | | 20 | 21 | 22 | 23 | 24 | 25 | 26 | | 27 | 28 | 29 | 30 | 31 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Search
Navigation
Categories
Blogroll
|

Tuesday, July 15, 2008
Extraire les utilisateurs d'un groupe dans Active Directory
Voici un exemple de code afin d'accèder aux membres d'un groupe dans l'AD ...
String ADFullPath = LDAP://NomDeLAD;
DirectoryEntry Ldap = new DirectoryEntry(ADFullPath);
DirectorySearcher searcher = new DirectorySearcher(Ldap);
searcher.Filter = "(&(objectClass=group)(cn=" + GroupName + "))";
SearchResult results = searcher.FindOne();
if (results != null)
{
DirectoryEntry AdGroup = new DirectoryEntry(results.Path);
System.DirectoryServices.PropertyCollection pcoll = AdGroup.Properties;
int n = pcoll["member"].Count;
for (int l = 0; l < n; l++)
{
DirectoryEntry AdUser = new DirectoryEntry(ADFullPath + "/" + pcoll["member"][l].ToString());
TreeNode tn = new TreeNode(AdUser.Properties["name"].Value.ToString());
tvwMembres.Nodes.Add(tn);
TreeNode tn1 = new TreeNode(AdUser.Properties["description"].Value.ToString());
tn1.ImageIndex = 2;
tn1.SelectedImageIndex = tn1.ImageIndex;
tn1.ToolTipText = "description";
tn.Nodes.Add(tn1);
TreeNode tn2 = new TreeNode(AdUser.Properties["sAMAccountName"].Value.ToString());
tn2.ImageIndex = 1;
tn2.SelectedImageIndex = tn2.ImageIndex;
tn2.ToolTipText = "Account Name";
tn.Nodes.Add(tn2);
TreeNode tn3 = new TreeNode(AdUser.Properties["mail"].Value.ToString());
tn3.ImageIndex = 3;
tn3.SelectedImageIndex = tn3.ImageIndex;
tn3.ToolTipText = "Mail";
tn.Nodes.Add(tn3);
TreeNode tn4 = new TreeNode(AdUser.Properties["physicalDeliveryOfficeName"].Value.ToString());
tn4.ImageIndex = 4;
tn4.SelectedImageIndex = tn4.ImageIndex;
tn4.ToolTipText = "Office Name";
tn.Nodes.Add(tn4);
AdUser.Close();
}
Ldap.Close();
AdGroup.Close();
Tuesday, July 15, 2008 2:22:19 PM (GMT Daylight Time, UTC+01:00)
C# | Active Directory

Monday, July 14, 2008
Un million d'iPhones vendu en un week-end.
Et pendant ce temps là, Nokia vends 360 millions de téléphones par année, soit un million par jour !
Beaucoup de bruit pour pas grand chose. Une pénuire volontaire de l'ami Steve et le tour est joué.
Monday, July 14, 2008 9:10:29 PM (GMT Daylight Time, UTC+01:00)
iPhone

Wednesday, July 09, 2008
Vider le cache généré par click-onc
Voici une petite astuce pour forcer click-once à vider le cache local où est stockée l'application. Au prochain lancement, click-once déploiera à nouveau l'application.
Executez cette commande depuis une ligne de commande:
rundll32 dfshim CleanOnlineAppCache
Plus facile et plus rapide que de signer l'application à déploier avec un nouveau certificat.
Wednesday, July 09, 2008 2:09:34 PM (GMT Daylight Time, UTC+01:00)
Click-once

Tuesday, July 08, 2008
IPMA Level C
Ce blog n'a plus été très actif depuis quelques temps ...
Mais j'ai une excuse : je prépare actuellement une certification de chef de projet. Cela me prends beaucoup d'energie mais le sujet est passionant.
Je vais quand même faire mon possible pour jouer avec le Framework.
@+
Tuesday, July 08, 2008 2:36:49 PM (GMT Daylight Time, UTC+01:00)
Musing

Friday, March 14, 2008
En amour avec LINQ
Chaque nouvelle version d'une plateforme amène son lot des nouvelles technologies. Avec un bon marketing, nombreuses sont celles qui paraissent indispensable durant au moins six mois. D'autre perdures.
LINQ fait partie, a mon avis, de ces technologies auxquelles on devient rapidement accro. Unifier l’interrogation de données, que celles-ci soient stockées dans un fichier plat, dans une base de donnée ou dans une collection en mémoire, est réellement un plus.
La littérature liée à LINQ est prolifique. N’hésitez pas à accéder au MSDN au de nombreux labs sont disponible pour vous faire la main.
Une information intéressante est aussi l’article de Mircea Trofin intitulé LINQ Framework design Guideline
Bonne lecture
Friday, March 14, 2008 7:47:07 AM (GMT Standard Time, UTC+00:00)
VS2008 | LINQ

Sunday, February 17, 2008
L'éternité, c'est long ...
J'espère que cette copie de répertoire ne va pas me mettre en retard sur ce projet ;

Ce n'est finallement qu'un peux plus de 78 ans ...
Sunday, February 17, 2008 8:48:15 PM (GMT Standard Time, UTC+00:00)
Musing

Wednesday, January 30, 2008
Troubleshhoting problèmes avec Merge Replication
Récement, j'ai experimenté quelqeus soucis avec un POC Merge Replication :
80004005 : Failure to connect to SQL Server
Le Merge Replication n’abouti pas. L’erreur ‘OpenDB failed getting pub version 28627’ est loguée dans le fichier SQLCESA30.LOG.
Liste des contrôles à effectuer :
- S’assurer que le serveur de réplication fonctionne correctement :
http://nomduserveur/ssce/sqlcesa30.dll?diag
- Contrôler dans le fichier log (C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Server\SSCE\SQLCESA30.LOG) que l’entrée ‘Hr=00000000 SQLCESA30.DLL loaded 0’
Vérifier le transport en effectuant des ‘ping’ entre Publisher, Distributor &Replication.
- Si un des serveur ne répond pas, vérifier que le firewall est à off.
Vérifier que les différents serveurs (Publisher, Distributor & Replication) communiquent correctement :
- depuis le serveur de réplication :
o osql –S PUBLISHER –E
o osql –S DISTRIBUTOR –E
- etc sur les autres serveurs ...
Si la communication ne fonctionne pas, vérifier dans ‘SQL Server Surface Area Configuration’ que les connections locales et distantes sont autorisées.
Wednesday, January 30, 2008 3:43:54 PM (GMT Standard Time, UTC+00:00)
Merge Replication | SQL-Server 2005 | Windows Mobile

Thursday, January 24, 2008
SQL-Server et changement du nom de machine
Dans le cadre d’un POC (Proof Of Concept), j’ai décidé de changer le nom du serveur de base de donnée afin que ce laboratoire soit ‘auto-documenté’ (c’est plus claire quand les machines s’appellent ‘Directory Services’, ‘Publisher’ au lien de ‘WIN-1234’ et ‘WIN-1235 …). Cette modification intervient APRES l’installation de SQL-Server.
Le changement de nom s’effectue très simplement depuis l’administration de l’ordinateur (Poste de travail/ Gérer). Jusqu’ici, tout va bien.
Lors de la première connexion à la base de donnée via SQL-Server Management Studio, la mire propose toujours l’ancien nom de l’ordinateur. Pas de souci, il suffit de remplacer celui-ci par son nouveau nom et la connexion s’effectue correctement.
Un problème survient lorsque l’on désir gérer la réplication. En effet, pour une mystérieuse raison, la réplication (Replication.Utilities) cherche toujours à accéder au serveur avec l’ancien nom …

Un rapide coup d’œil sur les tables système permet de trouver la source du souci :
select * from sys.servers
Retourne des informations du serveur SGDB, et retourne surtout dans la colonne ‘NAME’ l’ancien nom de la machine L
Le souci sera rapidement résolut en supprimant le serveur et en le recréant à l’aide des procédures stockées suivantes :
sp_dropserver ‘WIN-1235’
sp_addserver @server=‘Publisher’, @local=’local’
Et tout rentre dans l’ordre.
Thursday, January 24, 2008 1:36:14 PM (GMT Standard Time, UTC+00:00)
SQL-Server 2005 | Tips | Merge Replication