2017-08-16 3 views
2

NotesRegistration.Mailaclmanager = "LocalDomainAdmins"グループのロータスノートのユーザータイプを設定する方法、ユーザーと電子メールアカウントを作成する方法は?デフォルトでlotuscript

を使用して、それは常に私に混合グループを与える LocalDomainAdminsグループは[人物グループ]

であるためにデフォルトで設定する方法

enter image description here

私のコーディング更新

Dim reg As New NotesRegistration 

Dim dt As Variant 
dt = DateNumber(Year(Today)+1, Month(Today), Day(Today)) 

reg.RegistrationServer = mailsvr  
reg.CreateMailDb = True     ' 
reg.CertifierIDFile = certid   
reg.Expiration = dt 
reg.IDType = ID_HIERARCHICAL 
reg.MinPasswordLength = 1    
reg.IsNorthAmerican = True 
reg.OrgUnit = OU   
reg.RegistrationLog = "log.nsf" 
reg.UpdateAddressBook = True 
reg.Storeidinaddressbook = false 
reg.MailInternetAddress = internetpath 
reg.Shortname=doc.SelectMail(0) 
reg.Mailowneraccess =2  
reg.Mailcreateftindex=True  


Print mailfile 
Print "pass 1" 
Dim acl As NotesACL 
Print "pass 1-1" 
Dim aclEntry As NotesACLEntry 
Print "pass 1-2" 
Dim dbUser As NotesDatabase 
Print "pass 1-3" 
Set dbUser = New NotesDatabase(mailsvr,mailfile) ' mail/person.nsf 
Print "pass 1-4" 
Set acl = dbUser.aCL 
Print "pass 1-5" 
Set aclEntry = acl.GetEntry("LocalDomainAdmins") 
Print "pass 1-6" 
aclentry.Usertype = ACLTYPE_PERSON_GROUP ' cannot used 
print "pass 1-7" 
call acl.Save() 
Print "pass 1-8" 

結果は、サーバー側でいくつかのエラーを与える

[0924:000A-0B88] 17/08/2017 9時59分46秒AMのHTTPサーバ:エージェントの印刷:メール\ yonna

[0924: 000A-0B88] 17/08/2017 09:59:46 AM HTTPサーバー:エージェントの印刷:1を渡す

[0924:000A-0B88] 17/08/2017 09:59:46 AM HTTPサーバー:エージェントの印刷:pass 1-1

[0924:000A-0B88] 17/08/2017 09:59:46 AM HTTPサーバー:エージェント印刷:パス1-2

[0924:000A-0B88] 17/08/2017午前9時59分46秒AM HTTPサーバー:エージェント印刷:1-3

を渡す[0924:000A-0B88] 17/08/2017午前9時59分:46 AM HTTPサーバー:エージェント印刷:1-4

を渡す[0924:000A-0B88] 17/08/2017午前9時59分46秒AM HTTPサーバー:エージェント印刷:1-5

を渡します[ 0924:000A-0B88] 17/08/2017 09:59:46 AM HTTPサーバー:エージェントの印刷:パス1-6

[0924:000A-0B88] 17/08/2017 09:59:46 AM HTTPサーバー:エージェント '新規ユーザー登録'エラー:オブジェクト変数が設定されていません

+0

admin-ユーザーのグループに「サーバーグループ」タイプを指定してもよろしいですか?あなたはもう管理者と一緒にこれらのデータベースにアクセスすることはできません... –

+0

申し訳ありませんが、私の間違い、私の上司は私に[人のグループ]としてそれを置くように頼みますが、私はそれを間違って入れました。私はどのように属性ユーザーの種類[人のグループ]を書くかわからないヘルプファイルに関する多くの情報を見つける。インターネットのソース。 –

答えて

3

NotesRegistrationクラス内のMailaclmanagerのエントリのタイプを変更する方法はありません。あなたが行くと、ユーザーが作成された後にデータベースを取得し、「手動」のエントリに変更:

まず:

あなたは2つのことを行うことができます第二に

Dim dbUser as NotesDatabase 
Dim acl as NotesACL 
Dim aclEntry as NotesACLEntry 

'- do your registration here 

Set dbUser = New NotesDatabase(usermailserver, usermailpath) 
'- use variables for usermailserver and usermailpath that you use as parameters for registeruser 
Set acl = dbUser.acl 
Set aclEntry = acl.GetEntry("LocalDomainAdmins") 
aclEntry.UserType = ACLTYPE_PERSON_GROUP 
Call acl.Save() 

を:ちょうどあなたのテンプレートのACLへの変更LocalDomainAdmins - [LocalDomainAdmins]のように、[LocalDomainAdmins]のように正しいタイプとアクセスレベルで入力します。データベースの作成時に、テンプレートから大括弧内のすべてのエントリをコピーして大括弧を削除します。

私は、テンプレートの操作を必要とせず、すべてのものがコード内の1つの場所にまとめられているので、最初の解決法を好むでしょう。

もう少し:決して、私は決して少なくとも最小限のエラーハンドラを使わずにコードを書くことを繰り返します。これはすべてのコーディング言語に当てはまります。

On error goto ErrorHandler 

'- your code goes here 

EndOfRoutine: 
    Exit sub 'or exit function 
ErrorHandler: 
    Print Err & ", " & Error & " in line " & Erl 
    Resume EndOfRoutine 
+0

私はサンプルコードを試して、それは私にオブジェクト変数が設定されていません。私も私の質問を更新します。私のコードを見てもらえますか?ありがとう! –

+0

申し訳ありません..私は既にコーディングエラーが見つかりました。このためのソリューションを提供してくれてありがとう。 –

+0

これは誰でも見つけることができます:エラーは、notesregistrationクラスのregisteruserを呼び出すことなく、データベースはありません...コマンドの順序は単に間違っています... –

関連する問題