#この記事について
Notes/Domino の機能として提供されている ID ボールト(ID Vault)で、複数ユーザーに対して一括でダウンロードカウントを設定する方法について記載しています。
ある程度 Notes/Dominoで の開発経験がある方向けの内容となっていますので、ご了承ください。
#ID ボールトの基本情報
そもそも、ID ボールトとは?という方のためにID ボールトの機能や設定方法についてのリンクです。
ID ボールトの機能
HCL Domino 11.0 Administrator ヘルプ内の機能説明です。
ID ボールトの構築とトラブルシューティング
IBM developerWorks の記事なので、いつまで閲覧できるかわかりませんが、ID ボールトの設定方法、問題が発生した場合のトラブルシューティングなどがわかりやすくまとまっています。
#ID ボールトのダウンロードカウント
ID ボールトの機能を使用すると、Notes クライアントセットアップ時にローカルに ID ファイルがなくても、ユーザー名、パスワード情報を入力すれば、Domino サーバー上に配置されているID ボールト DB から ID ファイルをダウンロードすることが可能です。
ただし、この機能を使用する場合は、ID ファイルをダウンロードできるように事前に設定しておく必要があります。
また、ID ファイルをダウンロードできる回数(以下、ダウンロードカウントと記述します)の指定方法は以下のヘルプに記載があります。
ID ファイルのダウンロードカウントは、ユーザーごとにそれぞれ指定する必要があり、複数のユーザーに対して一括でダウンロード回数を指定することができません。
一度に数十名のユーザーに対してダウンロードカウントを指定したい、という場合には大変に面倒くさい。ということで、一括設定するスクリプトを書いてみよう、というのが今回の記事となります。
#ダウンロードカウントを確認する
ID ファイルのダウンロードカウント等の情報はボールト DB (デフォルトでは データディレクトリの IBM_ID_VAULT 以下に配置されています)の各ユーザーごとの文書内で確認可能です。確認箇所は以下となります。
[Downloads]-[Maximum allowed]
文書のプロパティで確認すると、このフィールドは"IDDLAllowedCount"として設定されています。ここを変更すれば良さそうです。
#ここからが本題。実際にカウント回数を設定してみる
ということで、LotusScriptで対象の文書の"IDDLAllowedCount"フィールドに1を設定し、保存。その後クライアントをセットアップし自動的にダウンロードできるか確認してみました。が、エラーが出てダウンロードできません。このフィールドを変更だけでは駄目なようです。
ヘルプの記載通りに管理クライアントからダウンロードカウントを設定した文書のプロパティと比較したところ、以下のフィールドに変更が生じていることが判明しました。
・”RecentlyReset”フィールドに1が設定されている
・”IDDLExpiresOn”フィールドにダウンロード期限が設定されている
”RecentlyReset”が何のために使用されているのかのドキュメントは見つけることができませんでしたが、ひとまず手動変更したとき時と同じように1を設定することにします。
そして、”IDDLExpiresOn”は、手動変更したときにはセキュリティポリシー設定の[ID自動ダウンロード]-[IDダウンロードを許可する期間]で設定した期間が設定されますが、今回は1か月を設定することにします。
#スクリプト
以下に実際に作成したスクリプトを記載します。
ID ボールトDB上の任意のビューにアクションとして追加し、選択した文書についてダウンロード回数を1回、1か月後までダウンロード可能に設定します。
ちなみに"IDDLAllowedCount"と”IDDLExpiresOn”も表示できるビューを追加しておき、そこから操作すると便利です。
Sub Click(Source As Button)
Dim ss As New NotesSession
Dim ws As New NotesUIWorkspace
Dim thisUIView As NotesUIView
Dim selectedDocCol As NotesDocumentCollection
Dim targetDoc As NotesDocument
Set thisUIView = ws.CurrentView
Set selectedDocCol = thisUIView.Documents
Set targetDoc = selectedDocCol.GetFirstDocument
Do While Not targetDoc Is Nothing
Call targetDoc.ReplaceItemValue("IDDLAllowedCount",1) //ダウンロードカウントを設定
Call targetDoc.ReplaceItemValue("RecentlyReset",1) //RecentlyResetフィールドに1を追加
Dim dateTime As New NotesDateTime("") //1か月後の日付設定
Call dateTime.SetNow
Call dateTime.AdjustMonth(1)
Call targetDoc.ReplaceItemValue("IDDLExpiresOn",dateTime) //ダウンロード期限を設定
Call targetDoc.Save(True, True)
Set targetDoc = selectedDocCol.GetNextDocument(targetDoc)
Loop
Call ws.ViewRefresh
End Sub
#その他 ID ボールトについての情報(備忘として)
ID ボールトの認証情報の更新について
ID ボールトの認証情報は10年で期限切れとなります。その場合の対処方法。
Nomad の導入方法について
iPad や Android 端末から Domino アプリケーションにアクセスする HCL Nomad を導入する場合、端末への ID ファイル配置には ID ボールトの使用が一般的です。現在導入していない環境でも、今後を考えると ID ボールトを導入しておいた方が良いかもしれません。