Question
Exchange 2003 creation boîte mail
- Mickael Hornung
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 15 ans 8 mois #1403
par Mickael Hornung
Exchange 2003 creation boîte mail a été créé par Mickael Hornung
Bonjour à tous et Bonne Année 2008
!
Je vous expose mon problème :
Je tente désespérement d'ecrire un script pour créer un utilisateurs ainsi que la boîte mail correspondant à ce dernier.
Pour l'utilisateur, ça roule mais pour ce qui concerne la creation de la boite sous Exchange 2003, c'est la grosse galère.
Je me suis inspiré de cette page :
www.codeguru.com/csharp/csharp/cs_misc/e.../article.php/c14009/
Voici un extrait de mon code :
[code:1]
## recherche de l'utilisateur précèdement créé ##
$ldapQuery = \"(SAMAccountName=$cn)\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findone()
[string]$dn = $complist.properties.distinguishedname
$domain_person = New-Object System.DirectoryServices.DirectoryEntry(\"$DOMAIN/$dn\" , $DOMAINE_SERVICE_ACCOUNT , $DOMAIN_SERVICE_ACCOUNT_PASSWORD)
########### EXCHANGE_MAIL STORES #############
$EXCHANGE_MS = \"CN=Banque de boîtes aux lettres (EXCHANGE),CN=Premier groupe de stockage,CN=InformationStore,CN=EXCHANGE,CN=Servers,CN=premier groupe d'administration,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=XXXXX,DC=YYYYY\"
######### CDOEXM REFERENCES ########
$ASSEMBLY = [Reflection.Assembly]::LoadFile(\"C:\Program Files\Exchsrvr\bin\Interop.CDOEXM.dll\"«»)
$ASSEMBLY_TYPE = $ASSEMBLY.GetType(\"CDOEXM.IMailboxStore\"«»)
$BINDING_FLAGS = [Reflection.BindingFlags] \"Public,InvokeMethod\"
$ASSEMBLY_TYPE.invokeMember(\"CreateMailbox\",$BINDING_FLAGS,$null,$domain_person.psbase.nativeobject,$EXCHANGE_MS)
$domain_person.psbase.commitchanges
[/code:1]
Voici l'erreur retournée :
[code:1]
Exception lors de l'appel de « InvokeMember » avec « 5 » argument(s) : « Méthode 'CDOEXM.IMailboxStore.CreateMailbox' introuvable. »
[/code:1]
Il me dit qu'il ne connait pas la méthode, là je sèche.
Merci d'avances pour votre aide !

Je vous expose mon problème :
Je tente désespérement d'ecrire un script pour créer un utilisateurs ainsi que la boîte mail correspondant à ce dernier.
Pour l'utilisateur, ça roule mais pour ce qui concerne la creation de la boite sous Exchange 2003, c'est la grosse galère.
Je me suis inspiré de cette page :
www.codeguru.com/csharp/csharp/cs_misc/e.../article.php/c14009/
Voici un extrait de mon code :
[code:1]
## recherche de l'utilisateur précèdement créé ##
$ldapQuery = \"(SAMAccountName=$cn)\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findone()
[string]$dn = $complist.properties.distinguishedname
$domain_person = New-Object System.DirectoryServices.DirectoryEntry(\"$DOMAIN/$dn\" , $DOMAINE_SERVICE_ACCOUNT , $DOMAIN_SERVICE_ACCOUNT_PASSWORD)
########### EXCHANGE_MAIL STORES #############
$EXCHANGE_MS = \"CN=Banque de boîtes aux lettres (EXCHANGE),CN=Premier groupe de stockage,CN=InformationStore,CN=EXCHANGE,CN=Servers,CN=premier groupe d'administration,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=XXXXX,DC=YYYYY\"
######### CDOEXM REFERENCES ########
$ASSEMBLY = [Reflection.Assembly]::LoadFile(\"C:\Program Files\Exchsrvr\bin\Interop.CDOEXM.dll\"«»)
$ASSEMBLY_TYPE = $ASSEMBLY.GetType(\"CDOEXM.IMailboxStore\"«»)
$BINDING_FLAGS = [Reflection.BindingFlags] \"Public,InvokeMethod\"
$ASSEMBLY_TYPE.invokeMember(\"CreateMailbox\",$BINDING_FLAGS,$null,$domain_person.psbase.nativeobject,$EXCHANGE_MS)
$domain_person.psbase.commitchanges
[/code:1]
Voici l'erreur retournée :
[code:1]
Exception lors de l'appel de « InvokeMember » avec « 5 » argument(s) : « Méthode 'CDOEXM.IMailboxStore.CreateMailbox' introuvable. »
[/code:1]
Il me dit qu'il ne connait pas la méthode, là je sèche.
Merci d'avances pour votre aide !

Connexion ou Créer un compte pour participer à la conversation.
- Robin Lemesle
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 260
- Remerciements reçus 0
il y a 15 ans 8 mois #1407
par Robin Lemesle
Robin MVP PowerShell
Réponse de Robin Lemesle sur le sujet Re:Exchange 2003 creation boîte mail
Salut Kinder et bonne année !
On peut remarquer dans ton code que tu utilises la variable $DOMAINE_SERVICE_ACCOUNT , je pense qu'il faut la remplacer par $DOMAIN_SERVICE_ACCOUNT (sans \"E\"). De plus, on ne peut le voir dans ton programme, mais as-tu correctement initialisé ces valeurs au préalable ?
On peut remarquer dans ton code que tu utilises la variable $DOMAINE_SERVICE_ACCOUNT , je pense qu'il faut la remplacer par $DOMAIN_SERVICE_ACCOUNT (sans \"E\"). De plus, on ne peut le voir dans ton programme, mais as-tu correctement initialisé ces valeurs au préalable ?
Robin MVP PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Mickael Hornung
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 15 ans 8 mois #1408
par Mickael Hornung
Réponse de Mickael Hornung sur le sujet Re:Exchange 2003 creation boîte mail
Salut Robin !
Tout d'abord merci pour ton aide !
Bien vu pour la faute
, j'ai corrigé ça mais sans succès ...
J'ai bien entendu initialiser les variable au début de mon code comme ceci :
[code:1]
$DOMAIN = \"LDAP://EXCHANGE.xxxxxxx.xxxxxxx:389\"
$DOMAIN_SERVICE_ACCOUNT = \"administrateur\"
$DOMAIN_SERVICE_ACCOUNT_PASSWORD = \"xxxxxxx\"
[/code:1]
Ce que je ne comprend pas, c'est le fait que powershell me dit que la méthode est inconnue sachant qu'apparement la librairie Interop.CDOEXM.dll se charge correctement
(j'ai du télécharger cette librairie sur un site car avec CDOEXM.dll cela ne marchait pas).
Tout d'abord merci pour ton aide !

Bien vu pour la faute

J'ai bien entendu initialiser les variable au début de mon code comme ceci :
[code:1]
$DOMAIN = \"LDAP://EXCHANGE.xxxxxxx.xxxxxxx:389\"
$DOMAIN_SERVICE_ACCOUNT = \"administrateur\"
$DOMAIN_SERVICE_ACCOUNT_PASSWORD = \"xxxxxxx\"
[/code:1]
Ce que je ne comprend pas, c'est le fait que powershell me dit que la méthode est inconnue sachant qu'apparement la librairie Interop.CDOEXM.dll se charge correctement

Connexion ou Créer un compte pour participer à la conversation.
- bordin
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 88
- Remerciements reçus 0
il y a 15 ans 8 mois #1409
par bordin
Réponse de bordin sur le sujet Re:Exchange 2003 creation boîte mail
Salut Kinder,
Exchange 2007 est basé sur PS (c'est du PS enrobé de GUI) ! Est ce que l'on peut faire de même avec Exchange 2003, ie administration du serveur avec PS?
Je n'ai pas encore essayé. Si çà marche, je suis preneur.
A+
Exchange 2007 est basé sur PS (c'est du PS enrobé de GUI) ! Est ce que l'on peut faire de même avec Exchange 2003, ie administration du serveur avec PS?
Je n'ai pas encore essayé. Si çà marche, je suis preneur.
A+
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 15 ans 8 mois #1414
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Réponse de Arnaud Petitjean sur le sujet Re:Exchange 2003 creation boîte mail
Bonjour,
Eh non malheureusement il n'y a pas de commandelettes pour Exchange 2003. A moins de se les faire nous-même ! Ou de migrer sous Exchange 2007...
D'ailleurs dès que Kinder aura réglé son problème nous en ferons un script ou une fonction (pas encore une commandelette, pour cela il faudra attendre la v2) qui intégrera la bibliothèque.
Arnaud
Eh non malheureusement il n'y a pas de commandelettes pour Exchange 2003. A moins de se les faire nous-même ! Ou de migrer sous Exchange 2007...
D'ailleurs dès que Kinder aura réglé son problème nous en ferons un script ou une fonction (pas encore une commandelette, pour cela il faudra attendre la v2) qui intégrera la bibliothèque.
Arnaud
MVP PowerShell et créateur de ce magnifique forum

Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 15 ans 8 mois #1415
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Réponse de Arnaud Petitjean sur le sujet Re:Exchange 2003 creation boîte mail
Kinder,
Je me demande s'il ne faudrait pas installer les outils d'administration Exchange 2003 sur ta machine (d'où tu lances ton script PS) car si cela se trouve, la DLL est mal reconnue par le système. Je sais que certaines fois il faut les enregistrer dans la base de registres avec Regsvr32.
Arnaud
Je me demande s'il ne faudrait pas installer les outils d'administration Exchange 2003 sur ta machine (d'où tu lances ton script PS) car si cela se trouve, la DLL est mal reconnue par le système. Je sais que certaines fois il faut les enregistrer dans la base de registres avec Regsvr32.
Arnaud
MVP PowerShell et créateur de ce magnifique forum

Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.056 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Exchange 2003 creation boîte mail