Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Connexion Ldap unix en PowerShell [ Base de données / ADO.NET ] (superzero93)

lundi 31 mars 2008 à 21:26:15 | Connexion Ldap unix en PowerShell

superzero93

Bonsoir à vous,

Je suis entrain de coder en PowerShell, qui repose sur du C# pour faire des scripts d'adminsitration

D'après ce post :

http://www.csharpfr.com/infomsg_PROBLEME-LDAPV3-CSHARP_1071248.aspx

Il faut utiliser la bibliothèque de Novell pour me connecter sur un LDAP Unix (je ne sais pas quelle version pour l'instant)

Je cherche à ajouter une dll dans un assembly pour pouvoir utiliser cette dll en PowerShell

D'après mes recherches, il faut utiliser GACutil, avec la commande gacutil -i toto.dll par exemple

Sauf que je reçois ce message d'erreur :

Microsoft (R) .NET Global Assembly Cache Utility. Version 1.1.4322.573
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.

Failure adding assembly to the cache: Attempt to install an assembly without a strong name


En suivant ces tutos :

[ Lien ]
[ Lien ]
http://www.gridviewguy.com/ArticleDetails.aspx?articleID=179

Mais je suis bloqué, je sais plus quoi faire, il y a un problème de noms forts apparemment -_-
Ma question est, comment faire pour charger dans l'assembly cette .dll ?

Merci, bonne soirée



mercredi 2 avril 2008 à 09:51:21 | Re : Connexion Ldap unix en PowerShell

superzero93

Bonjour,

Up! svp!, merci ^^

mercredi 2 avril 2008 à 11:12:10 | Re : Connexion Ldap unix en PowerShell

Miltiades

Membre Club
c'est pourtant pas compliqué,

le system de nom fort, est un system de signature, afin d'identifier le createur d'une DLL

une signature se fait en deux etapes,
1) tu crées ton fichier de clé (ton premier tuto), et tu garde le fichier .snk généré
2) tu signes ton/tes assemblies avec cette clé (ton second tuto)
NB: la signature par nom fort peut etre faite lors de la compilation de la dll dans les propriétés du projet

apres relecture de ton premier post, je tiens a te preciser une chose,
tu ne peux installer dans le GAC que des dll en dotnet!

Nul ne devient grand par la guerre...

mercredi 2 avril 2008 à 11:23:52 | Re : Connexion Ldap unix en PowerShell

superzero93

Merci de ta réponse :)

La .dll en question s'agit de Novell.Directory.Ldap.dll

Justement dans le second tuto je suis bloqué ici :
al /out:MyAssembly.dll MyModule.netmodule /keyfile:sgKey.snk

Je n'ai pas de fichier .netmodule, où le trouver ?

Dans le troisième tuto je suis également bloqué, dans cette étape :

csc /keyfile:MyProject.keys Program.cs

J'obtiens ceci comme résultat sous le Shell de Visual Studio 2005 :

Microsoft (R) Visual C# 2005 Compiler version 7.10.6310.4
for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727
Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.

fatal error CS2007: Unrecognized option: '/keyfile:MyProject.snk'


Donc je ne comprends pas, pourtant j'ai bien suivi tout ce qui était indiqué





mercredi 2 avril 2008 à 11:40:29 | Re : Connexion Ldap unix en PowerShell

Miltiades

Membre Club
pourtant il suffit de lire ...

  • À l'invite de commande, tapez la commande suivante :

    al/out:<nom de l'assembly> <nom du module>/keyfile:<nom du fichier>

    Dans cette commande, nom de l'assembly représente le nom de l'assembly à signer avec un nom fort, nom du module représente le nom du module de code utilisé pour créer l'assembly et nom du fichier représente le nom du conteneur ou du fichier qui contient la paire de clés.

donc <nom de l'assembly> c'est le nom de la dll
<nom du module> c'est le nom du namespace de ta dll
et
<nom du fichier> ... je pense que tu peux deviner par toi meme...

et pour ton tuto 3 ... CSC est le compilateur de Csharp, donc si tu veux juste faire une signature, tu n'en as pas besoin
par contre si tu veux signer une dll que tu developpe, vu que tu utilise visual studio 2005, je te conseil de passer par la propriété signature de ton projet

Nul ne devient grand par la guerre...

mercredi 2 avril 2008 à 11:57:49 | Re : Connexion Ldap unix en PowerShell

superzero93

Nom namespace de la dll c'est-à-dire ? comme ils expliquent ici ?

http://www.novell.com/coolsolutions/feature/11204.html

J'ai fait ceci :

C:\Program Files\Microsoft.NET\SDK\v1.1\Bin>al /out:Novell.Directory.Ldap.dll Novell.Directory.Ldap /keyfile:sgKey.snk
Microsoft (R) Assembly Linker Version 7.10.3077
pour Microsoft (R) Windows (R) .NET Framework version 1.1.4322
Copyright (C) Microsoft Corporation 2001-2003. Tous droits réservés.

ALINK: error AL1047: Erreur lors de l'importation du fichier 'c:\Program Files\M
icrosoft.NET\SDK\v1.1\Bin\Novell.Directory.Ldap' -- Le fichier spécifié est introuvable.


Désolé mais je suis novice là dedans <_<

mercredi 2 avril 2008 à 12:08:17 | Re : Connexion Ldap unix en PowerShell

Miltiades

Membre Club
ne serait il pas plus simple de demander a novell une version signé de leurs assemblies?
ou de faire un program C# utilisant cette assemblie?

sinon... tu est sur que ta dll se trouve dans C:\Program Files\Microsoft.NET\SDK\v1.1\Bin
??

Nul ne devient grand par la guerre...

mercredi 2 avril 2008 à 12:14:22 | Re : Connexion Ldap unix en PowerShell

superzero93

Oui la .dll se trouve bien dans ce répertoire

Je vais contacter Novell qui me passe une version signé de la .dll en question et je vous tiens au courant :)

Merci quand même ^^

jeudi 3 avril 2008 à 13:41:53 | Re : Connexion Ldap unix en PowerShell

superzero93

Bonjour à vous

En attendant leur réponse, j'ai bidouillé :

$Chemin = "C:\projet\Novell.Directory.Ldap.dll"
 [Reflection.Assembly]::LoadFile($Chemin)


Je charge directement la librairie de novell, apparemment ça fonctionne

Maintenant j'essaye de me connecter à Openldap, en cherchant sur le web j'ai trouvé ceci :

param([string] $serveur, [string] $DN, [string] $attribut)
$ldapConn = new-object Novell.Directory.Ldap.LdapConnection   
$ldapConn.Connect($serveur,389)
        $DN = "cn=thomas,ou=people,dc=maboite,dc=com"
        $ldapConn.Bind($DN,"setup1234")
     
        $Entry = $LdapConn.Read($DN)
        $attribute = $Entry.getAttribute($attribut)
        $valeur = $attribute.StringValue
        $LdapConn.Disconnect() 
        return $valeur


Le problème c'est que reçois uniquement ceci sous le Shell PS quand je l'exécute :

GAC    Version        Location
---    -------        --------
False  v1.1.4322      C:\Novell.Directory.Ldap.dll


Merci de m'éclairer


jeudi 3 avril 2008 à 14:33:47 | Re : Connexion Ldap unix en PowerShell

superzero93

J'ai oublié de préciser une chose, je me connecte sur ce user afin de récupérer son uid :)



Cette discussion est classé dans : dll, microsoft, assembly, com, powershell


Répondre à ce message

Sujets en rapport avec ce message

ressources qu'est ce qui est le mieux ? [ par revlis ] en c# .net, j'ai mis des fichiers (wav et ico) dans une dll a part. et dans ma class principal, je recupère l'assemblySystem.Reflection.Assembly ress C# : Comment decharger un DLL par David LARDY [ par microdav ] Bonjour,Dans mon prog en C# je charge plusieurs DLL dynamiquement puis les utilise tres bien de la façon suivante :>using System.Reflection ; >Assembl Création dll N° assembly... [ par Syruis ] Bonjour, je me suis mis au C# pour faire une dll qui devrait me servir en ASP. Donc pour l'integrer a l'asp 'Appel ASP il faut importer le dll .. r Nant et les versions de dll / assembly [ par code05 ] Salut ! Disons que que j'ai une dll de nom : assembly.dllJ'aimerais à l'aide de l'outil Nant (dans le fichier xml) récupérer la version de cette dll.J L'assembly référencé 'Interop.DAO.dll' n'a pas un nom fort [ par ArnaudFabry ] Bonjour,Je programme un service web en VB.NET.Il y a quelques mois le source marchait. Maintenant je voudrais le modifier seulement j'ai l'erreur suiv DLLImport Au Secours !!!!!!! [ par blueangel ] Bonjour tout le monde ,Voila je veux créer une DLL en c# le pb c'est que cette dll fait référence à une autre DLL ecrite en c++pour tester le programm dll dans le general assembly cache [ par wally88 ] Bonjour, j'ai fais une application avec visual c# express 2005 + firebird.Je souhaite la publier, cela fonctionne. Mais quand j installe l'application Décharger une Dll [ par M5i9k ] Bonjour à tous,je voudrais creer une application qui puisse charger un assembly et le décharger pour permettre de le mettre à jour puis de le recharge DirectX + .Net [ par badrbadr ] salut,hier j'ai passé mon application directx a un ami qui avait le framework.net.comme il n'a pas installé directx avec l'option /installmanagedDXle


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 3,838 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.