Page 1 sur 3
L'utilisateur CN={user] /O={nom de l'organisation} ne peut p

Publié:
04 Sep 2013 à 12:32
par sanaa83
Bonjour,
Je suis entraîne d'automatiser la création du compte Lotus. Dans la biblio que j'ai, il y a un Sub qui permet de vérifier si la base mail à créer existe déjà dans le même répertoire et même serveur.
Voilà le code utilisé
- Code : Tout sélectionner
Dim dbMail As New NotesDatabase(mailServer, mailFile)
Dim sMsg As String
If Not createMailbox Then
Else
'MsgBox "mailServer and mailFile ==> " & mailServer & " " & mailFile
If dbMail.IsOpen Then
Msgbox "Base existante!!!"
End If
End If
Après l'éxécution de mon agent, je reçoit une erreur "L'utilisateur CN={user] /O={nom de l'organisation} ne peut pas ouvrir la base {Chemin d'accès au databasename.nsf}"
L'erreur est affiché juste après la liste "If dbMail.IsOpen Then"
Vous avez un idée sur ce probléme?!
C'est urgent!!
Merci d'avance.
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 12:37
par Michael DELIQUE
salut
au lieux du Dim dbMail As New NotesDatabase(mailServer, mailFile)
préfere un
Dim db As New NotesDatabase( "", "" )
Call db.Create( "Zagreb", "inventry.nsf", True )
ça devrais mieux marché
et avant de faire un "If dbMail.IsOpen Then" essais déjà "if dbmail is nothing" qui te dira si ta base a rééllement été créeé ou du moin si l'objet contient quelque chose
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 13:03
par sanaa83
Re,
Merci Michael pour votre retour.
J'ai intégré les modifs que vous m'avez communiqué.
Dim dbMail As New NotesDatabase( mailServer, mailFile )
If Not (dbmail Is Nothing) Then
If dbMail.IsOpen Then
MsgBox "base existante!!!"
End If
End if
Mais après la ligne de create, ça me retourne que le base existe déjà.
alors que mon objectif est de tester si la base est existante, j'affiche une boite de dialogue pour modifier le nom de la base mail afin qu'il crée cet user.
Alors qu'avec create, le message s'affiche automatiquement, la chose qui va m’interdit d'afficher une boite de dialogue!!
So, des idées sur le message d'erreur sinon une autre proposition?!
Merci
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 13:36
par Michael DELIQUE
ok,
pour instancier ta base essais un ça
- Code : Tout sélectionner
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.GetDatabase("snapper", "names2", False)
If db Is Nothing Then
Messagebox "names2.nsf does not exist on snapper"
Else
Messagebox db.Title,, "Title of names2.nsf"
End If
End Sub
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 14:13
par sanaa83
Re,
Même si j'ai instancié la base, ça ne marche pas et je reçois tjrs le même message.
Sinon, comment je peux signer mon agent avec l'ID du serveur?!
Il se peut qu'il sera la solution!!
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 14:28
par Michael DELIQUE
ton utilisateur est dans la lca de la base ?
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 14:39
par sanaa83
Oui l'utilisateur qui exécute l'agent est dans la LCA de la base et il est gestionnaire.
Par contre, même j'ai signé l'agent avec l'ID du serveur ça ne fonctionne pas tjrs. et j'ai tjrs le message "L'utilisateur CN=user /O={name organisation}ne peut pas ouvrir la base {Chemin d'accès au databasename.nsf}"?!!
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 14:44
par Michael DELIQUE
je parle de l'acl de la base que tu as créé avec ton script !
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 14:54
par sanaa83
Dans la base que j'ai crée et je suis entraîne de chercher si elle existe ou non?!
Non, puisque je crée une base mail.nsf et lors de la création je gére pas les LCA.
Est ce que je dois ajouter l'administrateur dans la LCA de cette base?!
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 15:40
par Michael DELIQUE
oui !
mais bon là comme ça j ene peut t'en dire plus
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 16:21
par sanaa83
Rebonjour Michael,
J'ai ajouté un Sub qui permet d'ajouter l'utilisateur dans la LCA de la base mail crée.
Voilà la code
*******************************
Set dbmail = New NotesDatabase(mailServer, mailFile)
Set acl = dbmail.ACL
Forall admin In docsettings.LocalAdmin
Set entry = acl.GetEntry( Cstr(admin) )
If Not ( entry Is Nothing ) Then
entry.Remove
End If
End Forall
*******************************
Après l’exécution, je reçois tjrs le même message dans cette ligne Set dbmail = New NotesDatabase(mailServer, mailFile)
Alors que ce code je l'ai ajouté lors de la création de la base mail.
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 19:18
par roubech
le isOpen essaye d'ouvrir la base et si le signataire de l'agent n'a pas le droit de l'ouvrir, tu aura cette erreur. Mais ton but n'est pas de l'ouvrir, juste de savoir si elle existe déjà ou pas d'où le test proposé par Mickael dbMail is Nothing ...
pour la création de la nouvelle base mail, c'est pas la requete AdminP qui créé le fichier ?
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 22:26
par sanaa83
Bonsoir,
Merci Roubech pour ton intervention.
Exactement comme il a dit Michael, j'ai utilisé dbMail is Nothing au lieu IsOpen.
Pour créer a base mail, c'est avec cette instruction :
Call reg.RegisterNewUser( _
nom, _ ' last name
"", _ ' file to be created
mailServer, _ ' mail server
prenom, _ ' first name
"", _ ' middle initial
certIdPassword, _ ' certifier password
"", _ ' location field
"", _ ' comment field
mailFile, _ ' mail file
"", _ ' forwarding domain
userIdPassword) ' user password
Ensuite, j'essaye de rajouter la LCA dans la base crée avec ce code :
*******************************
Set dbmail = New NotesDatabase(mailServer, mailFile)
Set acl = dbmail.ACL
Forall admin In docsettings.LocalAdmin
Set entry = acl.GetEntry( Cstr(admin) )
If Not ( entry Is Nothing ) Then
entry.Remove
End If
End Forall
*******************************
Le problème que j'ai ici, c'est que dans la ligne "Set dbmail = New NotesDatabase(mailServer, mailFile)" je reçois le même message comme quoi l'utilisateur ne peut pas ouvrir la base mail. alors qu'avec cette ligne dbmail = New NotesDatabase(mailServer, mailFile) je veux pas ouvrir, je veux juste récupérer le dbmail afin de modifier la LCA.
Des idées, des feedback sur ça?!
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 22:52
par roubech
pour modifier la LCA de la base il faut en être gestionnaire !
est-ce que dans le template utilisé pour la création des boites mails, tu as une entrée du genre [LocalDomainAdmins] avec les crochets, de manière à pré-renseigner la LCA des bases créées à partir de ce modèle ?
Re: L'utilisateur CN={user] /O={nom de l'organisation} ne pe

Publié:
04 Sep 2013 à 23:04
par sanaa83
Lors de la création du document Person dans la base names, je mets "LocalDomainAdmins" comme LocalAdmin (Administrateur).
Est ce que je dois rajouter dans la LCA de template le groupe LocalDomainAdmins comme gestionnaire?!