FirstClassトップページ


ヘルプの目次
このヘルプについて このヘルプについて
 
エンドユーザ向けヘルプ エンドユーザ向けヘルプ
Client Help クライアントヘルプ
Web Help Webアクセスヘルプ
ScreenReader Help スクリーンリーダ
Form フォーム
Synchronization 同期
Definitions 用語
container コンテナ
 
管理者向けヘルプ 管理者向けヘルプ
Administration サーバの管理
Internet Services インターネットサービス
Customization Tools カスタマイズツール(英語)
Administering OTSW OTSWの管理
OTSW Custodian OTSW Custodian
Using FirstClass ED FirstClass ED(英語)
 
バナー:
 
 C302
 
FirstClassスクリプトのコマンド(名前順)




ACTIVATE
特定のシステム機能を開始します。システムイベントカレンダーを起動するのに使用して、サーバを再起動する必要がないようにするか、または安全性の高いパスワードを有効にします。
構文
ACTIVE SYSCALENDAR
構文
ACTIVATE SECUREPASSWORDS+FINAL
11102010_105950_0.png注意
この処理は元に戻せません。プレーンテキストのパスワードの取得が永久に無効にされます。



ADD NETWORK/ADD TELECOM
レギュラーユーザやリモートユーザを追加します。
構文
ADD class userID first i last dept pw postaddr phone1 phone2 UG# UG1...UGn
パラメータ
class   Networkにするとレギュラーユーザを作成します。Telecomにするとリモートユーザを作成します。
userID  ユーザIDです(最大15文字)。
first   i」を使わない場合は省略可能です。これは名前1です(最大半角23文字)。
i       省略可能です。これは名前2です(最大半角3文字で半角英数字のみ)。
last    名前3です(最大23文字)。
dept    使用しません。空の引用符の組("")を1つ入れてください。        
pw      ユーザのパスワードです(半角12文字まで)。
postaddr        省略可能です。これは住所です。改行コードを入力するには、「\r」と記述してください。
phone1  省略可能です。これは電話番号です(最大79文字)。
phone2  省略可能です。これはFAX番号です(最大79文字)。
UG#     登録するユーザグループの数です。
UG1...UGn       ユーザを登録するユーザグループ名です(各最大23文字)。
ユーザIDが"SBRAM"、パスワードが"broccoli"、そしてEmployeesとEast Coastユーザグループに所属させる、 Susan A. Bramというレギュラーユーザを追加するには、以下のように入力します。
ADD NETWORK SBRAM Susan A Bram "" broccoli "123 Main St.\rToronto" "" "" 2 Employee "East Coast"
ユーザIDが"SBRAM"、パスワードが"broccoli"、そしてEmployeesとEast Coastユーザグループに所属させる、 Susan A. Bramというレギュラーユーザを追加するには、以下のように入力します。
ADD TELECOM sbram Susan A Bram "" broccoli "123 Main St.\rToronto" "" "" 2 Employee "East Coast"

\rは住所フィールドの改行文字コードです。
06092010_122716_1.png注意
・ADDコマンドを使用した場合、<dept>パラメータの後にどのような誤記(ユーザグループ名を間違えるなど)があっても、FirstClassサーバはそのユーザアカウントを登録してしまいます。これを修正するには、そのアカウントを削除してFirstClassスクリプトメッセージの送信を取り消し、間違いを修正して再送信するか、[ユーザ情報]フォームで登録内容を修正してください。
・ユーザが最初にログインした際にパスワード変更画面が出るようにするためには、パスワードのセキュリティ条件に一致しないパスワードを作成してください。
・最もよくあるエラーは、ユーザグループの数(UG#)を入れないことです。ユーザグループの名前を入れ忘れた場合には、サーバコンソールに「Type a number between 0 and 255(0から255までの数字を入力してください)」と表示されます。他のよくあるエラーは、スペース文字を含むグループ名を引用符で囲むのを忘れることです。ユーザグループ名を誤って入力すると、サーバコンソールにはそのグループが存在しない旨のメッセージとエラー1081が表示されます。
・ユーザIDがすでに存在する場合には、サーバコンソールにはエラー1031が表示されます。
・一致する名前がすでに存在する場合には、サーバコンソールにはエラー1080が表示されます。名前が一致してしまうのは、例えば、Susanという名前のユーザが2人いるときに、どちらのユーザIDもsusanで登録しようとするような場合です。
・使用可能なレギュラーユーザライセンスがない場合、サーバコンソールにはエラー1018が表示されます。
関連するコマンド
PUT USERコマンドを使用して、ADDコマンドで対応していない情報を追加する追加のスクリプトを作成できます。例えば、下のスクリプトでは、sabramというメールエイリアス(フィールドID 1252)をSusan Bramに追加します。
PUT USER sbram 1252 0 sabram



ADD REMOTE
リモート名を追加します。
06092010_122716_1.png注意
「remote name」は、他のサーバに登録されているユーザのディレクトリエントリを表します。リモートユーザを追加するには、ADD NETWORK/ADD TELECOMを使用してください。
リモート名を追加する前に、そのユーザが登録されているサイトがルートかゲートウェイとして定義されいる必要があります。
構文
ADD REMOTE first i last dept sitename remoteclientID gateway
パラメータ
first   i」を使わない場合は省略可能です。これは名前1です(最大半角23文字)。
i       省略可能です。これは名前2です(最大半角3文字で半角英数字のみ)。
last    名前3です(最大23文字)。
dept    使用しません。空の引用符の組("")を1つ入れてください。
sitename        ユーザが登録されているサイトの名前です。
remoteclientID  ユーザの固有のIDです。このフィールドを使用して同姓同名のユーザを区別します。
gateway このユーザへのメールを中継するゲートウェイです。
Husky Planes Los Angelesサーバに登録されているユーザAllen Smithをリモート名として追加し、このユーザのメールがHusky Planes Boston経由で配信されるようにするには、以下のように入力します。
ADD REMOTE Allen "" Smith "" "Husky Planes Los Angeles" 1234 "Husky Planes Boston"



ADD ROUTE
リモートサーバへのルートを追加します。
構文
ADD ROUTE name siteID cost gateway
パラメータ
name            リモートサーバのサイト名です。
siteID          リモートサーバのシリアル番号です。
cost            ルートコストです(標準は1ホップあたり50)。
gateway         このサーバへのメッセージが配信されるゲートウェイです。
Husky Planes Los Angelesへのルートを追加して、メッセージがHusky Planes Boston経由で送られるようにするには、以下のように入力します。
ADD ROUTE "Husky Planes Los Angeles" 1001030 50 "Husky Planes Boston"



ADD TELECOM
ADD NETWORK/ADD TELECOMを参照してください。



AN
サーバにリモート名を追加します。
このコマンドは、ディレクトリ同期処理だけで使用されます。詳細な情報が必要な開発者の方は、FirstClassゲートウェイツールキット開発者用のマニュアルを参照してください



AUDIT
ユーザまたはコンテナ単位での監査を実行します。
AUDIT OPTIONSを利用すると、管理者は読み取り専用アイテムだけを監査レポートに記録するか、逆に監査レポートから除外できます。ユーザやコンテナ単位の監査では、常に読み取りアイテムが対象となります。
管理者用ディレクトリでも、ユーザやコンテナ単位の監査を実行できます。しかし、AUDITコマンドは、ディレクトリに表示されないコンテナに対しても使用できます。
前回の監査以降に削除されたアイテムは、完全に消去されます。必要に応じて、AUDITコマンドの実行前に、削除済みアイテムを元に戻すことができます。期限切れのアイテムには、次回監査時に削除するためのタグが付けられます。必要に応じて、コンテナの有効期限を無期限にしてください。
監査は、指定したコンテナだけに対して実行され、そのコンテナ内にあるサブコンテナは対象となりません。
AUDITコマンドを実行する前に、指定するコンテナが閉じられていることを確認してください。コンテナが開かれているかどうかは、サーバコンソールに表示されます。[ツール]>[承認]を選択すると、ユーザがコンテナを開けないようにすることができます。
構文
AUDIT path
AUDIT CID cidnumber +p
AUDIT DELAY +p
AUDIT OPTIONS +r -r
パラメータ
path    管理者デスクトップからの相対パスで指定したコンテナです。
DESKTOP userID  ユーザのデスクトップからの相対位置です。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
CID     クライアントIDです。管理者用ディレクトリか[ユーザ情報]フォームで確認できます。
+p              ユーザアカウントの監査を行うか、監査の実行を遅らせる場合にだけ必要です。
+r              読み取り専用アイテムに対する診断結果をレポートします。監査レポートに、読み取り専用アイテムの情報が記録されるようになります。
-r              読み取り専用アイテムに対する診断結果を除外します。監査レポートに読み取り専用アイテムの情報が記録されないようになります。これがデフォルトの設定です。
General Conferences内のStaff Lounge会議室の監査を実行するには、以下のように入力します。
AUDIT "general conferences:staff lounge"
ユーザIDがsbramのメールボックスを監査するには、以下のように入力します。
        AUDIT desktop sbram mailbox
監査のレポートに読み取り専用アイテムの情報が含まれるようにするには、以下のように入力します。
        AUDIT OPTIONS +r

これで、監査レポートに読み取り専用アイテムの情報が含まれるようになります。また、監査レポートにこの情報が含まれないようにするには、以下のように入力します。
AUDIT OPTIONS +r
アイテムを手動でコンテナにリンクさせる必要がある旨を示すメッセージがサーバから返された場合には、カスタマーサポートまでお問い合わせください。
クライアントIDが1692のユーザSusanに対して監査を実行するには、以下のように入力します。
AUDIT CID 1692 +p
システムをバックアップから復元する場合には、監査の開始を遅らせて、起動時に監査が実行されないようにした方がよいでしょう。そのためには、拡張子が.baのテキストファイルを作成し、以下のように入力します。
AUDIT DELAY +P



COMPILE
COMPILEコマンドは、コンテナやコンテナ用テンプレートのルール、リソース、列のカスタマイズ設定をコンパイルするために使用します。
構文
COMPILE path
COMPILE DESKTOP USERID path
COMPILE MODEL groupname ""
パラメータ              
Path    管理者デスクトップからの相対パスで指定したコンテナです。
DESKTOP USERID Path     ユーザのデスクトップからの相対パスで指定したコンテナです。
MODEL groupname ""      ユーザグループ、またはコンテナ用テンプレートの名前です。空の引用符(””)を、必ずグループ名の後に入れてください。
コンテナの[Rules & Resources]フォルダをコンパイルするには、以下のように入力します。
NEW "General Conferences:employee lounge" "Receive Rule" "" FORMDOC 7027 -1 -1 21 +x
COMPILE "General Conferences:employee lounge"
ユーザのメールボックスをコンパイルするには、以下のように入力します。
NEW desktop sbram mailbox "Receive Rule" "" FORMDOC 7027 -1 -1 21 +x
COMPILE DESKTOP SBRAM "mailbox"
グループの[Rules & Resources]フォルダをコンパイルするには、以下のように入力します。
NEW MODEL "EMPLOYEES" "" "Receive Rule" "" FORMDOC 7027 -1 -1 21 +x
COMPILE MODEL "EMPLOYEES"



COPY
COPYコマンドは、アプリケーションルールで利用可能なコピー動作に相当するスクリプトです。COPYコマンドは変数とともに使用し、管理者は、構成、リーフアイテム、エイリアス、権限、ルール、および所属グループの設定は同じで名前だけが異なるオブジェクトを作成できます。COPYコマンドによって、リーフアイテム、コンテナ、およびコンテナのエイリアスの複製が作成されます。権限、ルール、および所属グループの設定も複製されます。
ただし、参加者一覧の設定は引き継がれません。
パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
重要
会議室やカレンダーに対して変数なしでCOPYコマンドを使用した場合、コピーされたコンテナは名前を変更しないと正しく動作しません。
06092010_122716_1.png注意
既存のオブジェクトのコピーではなくエイリアスを作成する場合には、LINK SPECIALLINK PATH、またはLINK USERコマンドを使用してください。
構文
COPY targetpath newpath +nr -c
パラメータ
targetpath      既存のオブジェクトの位置で、管理者デスクトップからの相対位置で指定します。
newpath コピーを作成する位置で、管理者デスクトップからの相対位置で指定します。
+r      子会議室やサブフォルダのコピーを作成します。
+n      コピー先パスのコンテナを含めます。
-c      内容はコピーされないようにします。
{}      フィールドIDの後に数字が表示されるようにすることができます。
リーフアイテムをあるフォルダから他のフォルダにコピーするには、以下のように入力します。
COPY "General Conferences:HR Staff:Current Policies" "General Conferences:HR Staff:Policy Revisions for 2009"
コピー先の[Policy Revisions for 2009]フォルダは、このコマンドを送信する前にあらかじめ作成しておく必要があります。
リーフアイテムとサブコンテナを含むすべての内容をフォルダにコピーするには、以下のように入力します。
COPY "General Conferences:HR Staff:Current Policies" "General Conferences:Management" +rn
関連するコマンド
EXPORTENABLEFIELDSUBSTITUTIONIFMOVEPGADD、およびRENAMEコマンドをCOPYコマンドと組み合わせて使用すると、独自のワークフローを実行するスクリプトを作成できます。



CHARSET
CHARSETコマンドでは、FirstClassスクリプトの文字セットを設定します。番号を指定しないと、スクリプト内の文字はデフォルトの文字セットとみなされて処理されるようになります。このコマンドは、FirstClassアプリケーションサービスをインストールするスクリプトに有効です。
構文
CHARSET CharSetNumber
パラメータ
CharSetNumber   設定する文字セットを表す番号です。
レガシ:0
UTF8:65001
Windowsラテン文字:1252
Macintosh Roman:10000
Windowsキリル文字:1251
Macintoshキリル文字:10007
Windows中欧:1250
Macintosh東欧:10029
日本語(Shift-JIS):932
中国語(GB 3212 8ビット):93
韓国語(KS C 5601 8ビット):949
文字セットを「UTF8」に設定するには、以下のように入力します。
CHARSET 65001
UPDATE "Multi-Site Setup:FC Resource Registry:English Resources" myforms.fc
UPDATE "Multi-Site Setup:FC Resource Registry:English Resources" myforms.fc
UPDATE "Multi-Site Setup:FC Resource Registry:Deutsche Ressourcen" myforms.fc
UPDATE "Multi-Site Setup:FC Resource Registry:Danske resourcer" myforms.fc
UPDATE "Multi-Site Setup:FC Resource Registry:Recursos españoles" myforms.fc
UPDATE "Multi-Site Setup:FC Resource Registry:Svenska resurser" myforms.fc
UPDATE "Multi-Site Setup:FC Resource Registry:Ressource françaises" myforms.fc
UPDATE "Multi-Site Setup:FC Resource Registry:Suomenkieliset resurssit" myforms.fc
CHARSET



CHGALIAS
ユーザ、会議室、ゲートウェイ、またはルートのインターネットエイリアスを変更します。
06092010_122716_1.png注意
このコマンドは、[メールエイリアス]フィールドにエイリアスを追加するのではなく、完全に上書きします。
構文
CHGALIAS name alias
パラメータ
name            ディレクトリエントリの名前です。登録済みのユーザ、会議室、ゲートウェイ、またはルートを指定できます。固有の名前を指定しなかった場合には、最初に一致した名前が使用されます。
alias           1つまたは複数のインターネットエイリアスを指定します。複数指定する場合はコンマで区切ります。ゲートウェイやルートの場合は、ドメイン名を指定します。
Susan A. Bramのメールエイリアスをsabramに変更するには、以下のように入力します。
CHGALIAS "susan a bram" sabram
Emploee Lounge会議室のメールエイリアスをloungeに変更するには、以下のように入力します。
CHGALIAS "employee lounge" lounge
関連するコマンド
The PUT USERコマンドでもメールエイリアス(フィールドID 1252)を変更できます。PUT USERコマンドは、常に固有のユーザIDを使用します。
Susan A. Bram(ユーザIDsbram)のメールエイリアスをsabramに変更するには、以下のように入力します。
PUT USER sbram 1252 0 sabram



COPYFLD
2つのフォーム上にある同じフィールドIDのフィールドの内容を、一方のフォームから他方のフォームにコピーします。
構文
COPYFLD source_objdesc fieldID dest objdesc
パラメータ
source_objdesc  コピー元フォームです。
path    管理者デスクトップからの相対パスによって指定されたフォームです。
DESKTOP userID  ユーザのデスクトップからの相対位置です。
SYSPROFILE      システムプロファイルです。
USER userID     [ユーザ情報]フォームです。
CLIENT clientID [ユーザ情報]フォームで、クライアントIDで指定します。
DIRECTORY name  ゲートウェイ、会議室、リモート名、およびユーザグループの[ディレクトリ情報]フォームです。
fieldID FirstClassデザイナーでフィールドに割り当てられた番号です。Example.fcファイル内に一覧表示されています。
dest_objdesc    コピー先のフォームです。上のsource_objdescと同じパラメータを使用します
sbramの[ユーザ情報]フォームの[住所]フィールド(ID 1205)をpchuの[ユーザ情報]フォームにコピーするには、以下のように入力します。
COPYFLD user sbram 1205 user pchu
ユーザIDは管理者によって変更が可能ですが、クライアントIDは変更できず、同じ番号が重複して利用されることもありません。したがって、FirstClassスクリプトだけてシステム管理作業を行う場合や、外部データベースを使用する場合には、クライアントIDを使用するとよいでしょう。
sbram(クライアントID 1612)の[ユーザ情報]フォームの[住所]フィールドを、pchu(クライアントID 1602)の[ユーザ情報]フォームにコピーするには、以下のように入力します。
COPYFLD CLIENT 1612 1205 CLIENT 1602



DEL
サーバに登録されたユーザを削除します。
構文
DEL userID
パラメータ
userIDユーザに割り当てられたIDです。
ユーザSusan Bram(ユーザID sbram)を削除するには、以下のように入力します。
DEL sbram
ユーザIDが一致しないとコマンドの実行は失敗し、サーバコンソールにエラー1003が表示されます。
関連するコマンド
他のすべてのディレクトリエントリを削除するには、REMOVEまたはREMOVE DESKTOPコマンドを使用してください。



DELALL
ディレクトリまたは選択したサイトにあるすべてのルートやリモート名を削除します。このコマンドを使用した後は、リモートサイトとディレクトリの再同期を実行して、現在のリモート名とルートをすべて追加する必要があります。
構文
DELALL class siteID
パラメータ
class           リモート名の場合はREMOTE、ルートの場合はROUTEです。
siteID  サイトIDです。すべてのサイトを選択する場合は0にします。リモート名を削除する際にサイトを指定すると、そのサイトからのすべてのリモート名が削除されます。ルートを削除する際にサイトを指定すると、そのサイトから受信したすべてのルートが削除されます。
ディレクトリ同期プロセスは+tオプションを使用します。詳細な情報が必要な開発者の方は、FirstClassゲートウェイツールキット開発者用のマニュアルを参照してください
Husky Planes Boston(サイトID 1019026)に登録されている全ユーザのリモート名を削除するには、以下のように入力します。
DELALL REMOTE 1019026



DELFLD
フォーム上のフィールド情報を削除します。
構文
DELFLD objdesc fieldID
宛先フィールドを削除する場合には、以下のように入力します。
DELFLD objdesc addressID index
パラメータ
objdesc 対象を指定します。
fieldID フィールドIDです。
addressID       [宛先]フィールドは4、[CC]フィールドは5、[BCC]フィールドは14です。[会議室の権限]および[カレンダーの権限]フォーム上の[対象]フィールド、[アクセスレベル]フィールド、および[権限]フィールドは29です。
index   リスト内でエントリを指定する位置です。0は一番上に表示されている名前、1は2番目に表示されている名前、というように続きます。すべてのエントリを選択する場合は-1です。
address ディレクトリエントリの名前です。登録済みのユーザ、電子メールアドレス、会議室、カレンダー、リモート名、ゲートウェイ、またはルートを指定できます。固有の名前を指定しなかった場合には、最初に一致した名前が使用されます。
path            管理者デスクトップからの相対パスによって指定されたフォームです。
DESKTOP userID path     ユーザのデスクトップからの相対位置です。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
PROFILE userID appID formID     ユーザIDで指定した、特定のアプリケーションのプロフィールです。
PROFILE clientID appID formIDクライアントIDで指定した、特定のアプリケーションのプロフィールです。
SYSPROFILE      システムプロファイルです。
USER userID             [ユーザ情報]フォームです。
DIRECTORY name  ゲートウェイ、会議室、リモート名、およびユーザグループの[ディレクトリ情報]フォームです。
PERMISSIONS path        [会議室の権限]フォームまたは[カレンダーの権限]フォームです。
あるメールリストにある6番目のエントリを削除するには、以下のように入力します。
DELFLD path "Mail Lists:London" 4 5
コマンド内の4は、[宛先]フィールドを示します。また、5はメールリスト内の6番目のエントリを示します。
このメールリスト内のすべてのエントリを削除するには、以下のように入力します。
DELFLD path "Mail Lists:London" 4 -1
sbramの[ユーザ情報]フォームから、メールエイリアス(フィールドID 1252)を削除するには、以下のように入力します。
DELFLD user sbram 1252
Employee Lounge会議室の権限フォームにある先頭のエントリを削除するには、以下のように入力します。
DELFLD permissions "General Conferences:employee lounge" 29 0
Employee Lounge会議室の権限フォームからすべてのエントリを削除するには、以下のように入力します。
DELFLD permissions "General Conferences:employee lounge" 29 -1
[所属]フィールドを更新するには、PGADDまたはPGDELコマンドを使用してください。また、ユーザのデスクトップにあるコンテナのエイリアスを削除するには、REMOVEを使用してください。



DIAGNOSEDIR
81203_40013_5.png警告
ディレクトリエントリは、ユーザアカウントの重要な要素です。ディレクトリの修復を行う際は、事前に必ずバックアップを作成しておいてください。また、一度FirstClassのカスタマーサポートまでお問い合わせいただいてからディレクトリ修復作業を始めることをお勧めします。
稼働しているサーバ上でディレクトリの診断を行います。これは、以前FirstClassツールズで行っていた機能に代わるものです。ディレクトリの診断は、ユーザレコードに損傷が見られる場合に実行します。特に、登録したはずのユーザや会議室がディレクトリに表示されない場合に行います。
ディレクトリの問題を正しく把握するには、3つの異なる方法で宛先の検索を行ってください。[管理]>[ディレクトリの一覧]を選択して、名前、ユーザID、およびクライアントIDで検索を実行します。例えば、Susan Bram(ユーザID sbram、クライアントID 1707)が、ディレクトリには表示されるのにサーバにログインできないとします。ディレクトリの問題を確認するには、[検索対象]フィールドを「名前」に設定して、Susan Bramを検索してください。次に、同じフィールドを「ユーザID」に設定して、sbramを検索します。最後に、[検索対象]フィールドを「クライアントID」に設定して、1707を検索します。この3つ検索のうち1つが失敗した場合にだけ、ディレクトリに問題があることになります。
ディレクトリは、3重に冗長化されたデータベースで構成されています。DIAGNOSEDIRコマンドは、この3つのデータベースのうち、1つのデータベースにある有効なエントリを見つけるために使用します。有効なエントリが見つかったら、そのエントリをREPAIRDIRコマンドで他の2つのインデックスにコピーします。
この操作には、REPLYコマンドが必要です。オンラインヘルプの[Administration]フォルダの[Admin Resources]内に、ディレクトリの診断と修復に利用できる専用のフォームとスクリプトが用意されています。
構文
REPLY
DIAGNOSEDIR dirdesc pattern CID option
パラメータ
dirdescIndex, Client, User, Gateway, Conference, Calendar, MailList, Remote, Group, Routeのいずれかになります。
pattern 省略可能です。検索対象の文字列です。
CID     クライアントIDです。dirdescをClientにする場合にだけ必要です。dirdescを他の値を使用する場合には省略可能です。
+n      指定したpatternを名前として処理し、名前のインデックスを検索します。
Susan Bram(ユーザID:sbram、クライアントID:1707)の有効なエントリがディレクトリにあるかどうかを調べるには、以下のコマンドを実行します。

REPLY
//ユーザIDのインデックスをチェック
DIAGNOSEDIR USER sbram
//クライアントIDのインデックスをチェック
DIAGNOSEDIR CLIENT 1707
//名前インデックスをチェック。Bramという名前のユーザが検査されるようにするため、クライアントIDを含める。+nが必要
DIAGNOSEDIR USER "bram" 1707 +n

サーバから、以下のようなメッセージが返されます。

Diagnostic report for parameters:USER sbram

[1] (1707) "sbram" Susan Bram
SUMMARY:
1 entries were diagnosed.(1つのエントリが診断されました)
0 problems found.(発見された問題は0件でした)

もし3つのパラメータのうち1つに問題があることが報告された場合には、REPAIRDIRコマンドで修復できます。
FirstClassカスタマーサポートから指示があった場合には、インデックス全体の診断を行ってもかまいません。

ユーザIDのインデックスを診断するには、以下のように入力します。  
REPLY
DIAGNOSEDIR index name
クライアントIDのインデックスを診断するには、以下のように入力します。
REPLY
DIAGNOSEDIR index cid
ユーザIDのインデックスを診断するには、以下のように入力します。
REPLY
DIAGNOSEDIR index userid



REPAIRDIR
ディレクトリエントリは、ユーザアカウントの重要な要素です。ディレクトリの修復を行う際は、事前に必ずバックアップを作成しておいてください。また、一度FirstClassのカスタマーサポートまでお問い合わせいただいてからディレクトリ修復作業を始めることをお勧めします。
DIAGNOSEDIRコマンドでエラーのないインデックスが見つかったら、REPAIRDIRコマンドを使用して、このエントリを他の2つのインデックスにコピーします。
この操作には、REPLYコマンドが必要です。オンラインヘルプの[Administration]フォルダの[Admin Resources]内に、ディレクトリの診断と修復に利用できる専用のフォームとスクリプトが用意されています。
この操作には、REPLYコマンドが必要です。
構文
REPLY
REPAIRDIR dirdesc pattern ClientID option
パラメータ
dirdescIndex, Client, User, Gateway, Conference, Calendar, MailList, Remote, Group, Routeのいずれかになります。
pattern 省略可能です。検索対象の文字列です。
ClientID        クライアントIDです。dirdescをClientにする場合にだけ必要です。dirdescを他の値を使用する場合には省略可能です。
+n      指定したpatternを名前として処理し、名前のインデックスを検索します。
Susan Bram(ユーザID sbram、クライアントID 1707)クライアントIDのインデックスにエラーがない場合に、この正しいエントリを他の2つのインデックスに複製するには、以下のコマンドを送信します。

REPLY
REPAIRDIR client 1707

サーバから下記のメッセージが返されます。

Repair report for parameters:client 1707

Repaired:[1] (1707) "sbram" Susan Bram(修復しました[1件](1707)"sbram" Susan Bram)

名前のインデックスにエラーがない場合に、この正しいエントリを他の2つのインデックスに複製するには、以下のコマンドを送信します。

REPLY
REPAIRDIR USER Bram +n

サーバから下記のメッセージが返されます。

Repair report for parameters:USER Bram +n

Repaired:[1] (1707) "sbram" susan bram(修復しました[1件](1707)"sbram" susan bram)



DIR
コンテナやリーフアイテムの一覧を返します。また、ファイルやフォルダの数、最終変更日時、コンテナに割り当てられたディスク使用量などの情報も返します。この操作には、REPLYコマンドが必要です。インデックス番号も返されるため、BYINDEXキーワードで使用できます。
構文
DIR path +lbpsr
パラメータ
pathオブジェクトの位置です。管理者デスクトップからの相対位置で指定します。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
DESKTOP userID pathパスは、ユーザのデスクトップからの相対位置で指定します。
lリーフアイテムを含めます。
bコンテナを含めます。
p       完全なパスを表示します。
s       (アイテムごとに)サイズを表示します。
d       (アイテムごとに)日付を表示します。
r       (アイテムごとに)参照番号を表示します。
コンテナの情報を取得するには、以下のように入力します。
REPLY
DIR "general conferences:employee lounge" +bl
サーバから、以下のようなメッセージが返されます。
Contents of:"general conferences:employee lounge"
[B:0] "Message Storage" ""
[B:1] "Away Today" "Faculty"
[B:2] "Employee Calendar" ""
[L:4] "Susan Bram" "Customer Update"
[L:5] "Susan Bram" "Fire Drill Procedures"
[L:6] "Susan Bram" "Welcome Paul Chu"
Summary:
        Files:3        Size:64 kb     Last file modified on: 2004/05/17  08:40:26
        Folders:3      Last folder modified on: 2002/06/11  13:41:45
BYINDEXキーワードは、上述のあらゆるアイテムで使用できます。例えば、「Welcome Paul Chu」という件名のメッセージを保護するには、以下のコマンドを送信します。
PUT PROPERTIES BYINDEX 6 "General conferences:employee lounge" 1016 6 1
BYINDEXの数値が有効なのは、追加や削除が行われるまでの間だけです。会議室に新しいメッセージが送信されると、すべてのインデックス番号は変更されます。
Susan Bramのデスクトップ上にあるアイテムの一覧を取得するには、以下のように入力します。
REPLY
DIR DESKTOP SUSAN "" +lpb
サーバから、以下のようなメッセージが返されます。
Contents of:DESKTOP sbram ""
[B:0] "MailBox" ""
[B:1] "Calendar" ""
[B:2] "Help" ""
[B:3] "My Web Site" ""
[B:4] "Contacts" ""
[B:5] "My Shared Documents" ""
[B:6] "My Documents" ""
[B:7] "School Area" "Model Desktop"
[B:8] "Student Area" "Model Desktop"
[B:9] "Susan Bram's Student Portfolio" ""
[B:10] "Employee Lounge" "Model Desktop"
Summary:
        Files:0        Size:0 kb     Last file modified on:
        Folders:11      Last folder modified on: 2004/05/12  20:08:36



DN
サーバに登録されているリモート名を削除します。
このコマンドは、ディレクトリ同期処理だけで使用されます。



ENABLEFIELDSUBSTITUTION
メッセージの本文領域にある「#」フィールド識別子を、Batch Admin宛に送信したフォームのフィールドデータで置き換えます。このオプションはデフォルトでは無効になっていますが、ENABLEFIELDSUBSTITUTIONコマンドで有効にできます。このコマンドの後に続く行に対して、識別されたフィールド内のデータで「#」フィールド識別子を置き換える前処理が行われます。
この前処理を有効にした後で「#」が文字列の一部として必要になった場合は、「#」の前に「\」を置いてください(「\#」とする)。
アプリケーションルールのスクリプトを実行する場合は、このコマンドでセッションのデータにアクセスすることもできます。例えば、ユーザID、クライアントID、または第一組織単位を表す特別なIDをこのスクリプトに記述できます。
構文
EnableFieldSubstitution
#Field ID       
#{Field ID}     
パラメータ
Field ID        必ず数値にしてください。
{}      フィールドIDの後に数字が表示されるようにすることができます。
セッションデータID
以下のIDは、アプリケーションルールの[バッチ管理スクリプトを実行する]とともに使用する場合にだけ利用できます。
#7001   ユーザの名前1
#7002   ユーザの名前2
#7003   ユーザの名前3
#7006   ユーザのクライアントID
#7012   ユーザID
#7100   ユーザの完全フォーマット名
#7101   コピーの日付
#7102   コピーの時刻
#7103   選択されたアイテム
#5004   ユーザの第一組織単位
このコマンドのフィールド置換機能を十分に活用するには、専用のフォームを作成する必要があります。例えば、ユーザである従業員に対して、ディレクトリには公開されない会議室を[Employee Lounge]会議室内に作成できる権限を与えるものとし、ただし会議室の設定権限は与えないものとします。また、この会議室には特別なデザインとアイコンを使用するとします。
まず、Employee Conferencesという名のコンテナ用テンプレートを作成し、[表示とリソース]フィールドを「デフォルトのテンプレート表示」に設定します。また、このテンプレートのモデル表示を設定し、権限も設定します。その際、[ディレクトリに非公開]は有効にします。コンテナ用テンプレートを利用すると、所属する会議室の更新が簡単に行えるようになります。
この新しい会議室にユーザが名前を付けることができる簡単なフォームを、FirstClassデザイナーで作成します。会議室の名前は、ID 4001のフィールドに入力されるようにします。また、このフォームにはID 30002のフィールドも配置します。これは、アプリケーションルールの[次の文]フィールドに入力された情報の内容を取得するためのフィールドです。
rule.png

このフォームを含む設定ファイルを、[Employee Conferences]コンテナ用テンプレートの[Rules & Resources]フォルダにアップロードし、ユーザが[Employee Lounge]会議室を次に開いたときにこのフォームを取得できるようにします。
[Employee Template]という名の会議室を保護設定なしで作成し、[Employee Conferences]コンテナ用テンプレートに所属させてください。これにより、サブコンテナ、ドキュメント、および他のコンテナへのリンクをこのサンプルの[Employee Template]会議室に追加できるようになります。

ユーザは、「Employee Lounge」ツールバー上で手動ルールを選択して、このスクリプトを実行します。[Employee Lounge]会議室では「サーバ設定の表示を使用」を有効にし、従業員には[会議室の作成]権限を与えておきます。

このルールは、下図のように表示されます。
このスクリプトは、Employee Conferenceという名のドキュメントに記述し、管理者デスクトップの[My Scripts]という名のフォルダに保存するとします。このドキュメントには、以下のスクリプトを記述します。
ENABLEFIELDSUBSTITUTION
//Employee lounge内のテンプレートのコピーを作成し、所属グループ設定をコピーする
COPY "General Conferences:Employee Template" "General Conferences:Employee Lounge" +nr
//[Get Confirmation]フォームを利用して新しい会議室名を作成する
rename "General Conferences:Employee Lounge:Employee Template" "#4001"
//新しい会議室を保護する
PUT PROPERTIES "General Conferences:Employee Lounge:#4001" 1016 6 1
//ユーザの完全フォーマット名と作成日時をこの会議室の[プロフィール]フォームに追加する。メッセージ本文のフィールドIDは6。
PUT ABOUTPATH "General Conferences:Employee Lounge:#4001" 6 "This conference was created by #7100 on #7101"




EXECUTE
このコマンドは、他のFirstClassスクリプトを示すために使用されます。アプリケーションルールでは、[バッチ管理スクリプトを実行する]動作を設定できます。これにより、ドキュメント内のスクリプトを実行できるようになります。また、IFコマンドを使用して、IFコマンドの実行結果に応じて2つの異なるスクリプトを実行させることもできます。
構文
EXECUTE script path +af
EXECUTE script attached +af
パラメータ
Script path     FirstClassドキュメントの場所をパスで指定します。
Script attached         メッセージに添付するテキストファイルです。
+a      省略可能です。特定のオブジェクトの添付ファイルをコピーします。
+f      省略可能です。特定のオブジェクトのフォームデータをコピーします。
管理者デスクトップに作成した[My Scripts]フォルダ内の[Create Conference]というスクリプトを実行するには、以下のように入力します。
EXECUTE script path desktop admin "My Scripts:Create Conference" +f
アプリケーションルールの動作として実行するには、以下のようにコマンドを入力します。
EXECUTE script path desktop admin "My Scripts:Create Conference" +f
アップロードしたテキストファイルとそれに対応する添付ファイル内のスクリプトを実行するには、以下のように入力します。
EXECUTE script attached "myscript.txt" +a



ENROLL
ユーザ追加機能に相当するスクリプトです。Members Listとして定義されているフォルダ内でユーザ用のアプリケーションドキュメントを作成します。[Members List]フォルダがない場合は、Rosterという名前で作成されます。
構文
ENROLL USER userid path
ENROLL USER userid path
パラメータ
USER userID     ユーザIDで指定されたユーザです。
CLIENT cid      クライアントIDで指定されたユーザです。
path    管理者デスクトップからの相対パスで指定されたオブジェクトです。
ユーザIDがsbramのユーザを、[FirstClass Applications]フォルダ内の[Projects]フォルダにある、Project Highlandという名のアプリケーションコンテナのMembers listに追加するには、以下のように入力します。
ENROLL USER sbram "FirstClass Applications:Projects:Project Highland"
クライアントIDが1752のユーザを、[FirstClass Applications]フォルダ内の[Projects]フォルダにある、Project Highlandという名のアプリケーションコンテナのMembers listに追加するには、以下のように入力します。
ENROLL CLIENT 1752 "FirstClass Applications:Projects:Project Highland"



EXIT
サーバによる以降のスクリプト処理を停止させます。POP3クライアントでコマンドを送信する場合に使用できます。
構文
EXIT version
パラメータ
version 省略可能です。サーバのバージョン番号です。サーバのバージョンがこのバージョン番号と等しくないか大きい場合に、処理を停止します。
サーバのバージョンが9.1でない場合に処理を停止するには、以下のように入力します。
EXIT 9100



EXPORT
サーバ上にある既存のオブジェクト情報に応じたクロスプラットフォームのFirstClassスクリプトを生成します。EXPORTコマンドを実行できるのは管理者アカウントだけです。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
サーバから返されるスクリプトには、参加者一覧と所属グループの情報は含まれません。
構文
スクリプトを生成する場合
        EXPORT path name +rnpe -cv
スクリプトを生成して実行する場合
        EXPORT path address BatchAdminPassword ObjDesc +b
パラメータ
path    管理者デスクトップからの相対パスで指定されたエクスポート元オブジェクトです。
Desktop userID path     ユーザのデスクトップからの相対パスで指定されたエクスポート元オブジェクトです。
name    省略可能です。ユーザや会議室のディレクトリ名です。このnameパラメータがない場合、スクリプトは送信者に返されます。
addressバッチ管理コマンドを実行するユーザの名前です。通常、同じサーバ内では、このパラメータは"batch admin"にします。  
ScriptPassword  省略可能です。スクリプトコマンドを実行するのに必要なパスワードです。
ObjDesc エクスポート元のオブジェクトのパスです。
+r      子会議室やサブフォルダをエクスポートします。
+b      スクリプトをただちに実行します。オブジェクトの生成とエクスポートを同時に行う場合にだけ使用します。
+g      [Rules & Resources]フォルダの内容、モデル表示の表示のプロパティ、およびコンテナ用テンプレートグループの権限をエクスポートします。[Rules & Resources]フォルダの内容とユーザグループの表示のプロパティをエクスポートします。
+h      履歴情報を含めます。
+n      コピー先パスのコンテナを含めます。
+p      権限フォームの[対象]部分の情報を含めます。権限フォームにあるその他の対応フィールドは、すべてデフォルトで含まれます。ただし、参加者一覧と所属するグループのフィールドは含まれません。
+e      コンテナの列のカスタマイズ情報、ルール、およびリソースを含めます。
-c      メッセージ、ドキュメントおよびファイルを除外します。
-v      表示のプロパティの情報を除外します。
-m      最終更新日の情報を除外します。インポートスクリプトを実行すると、オブジェクトが現在の日付で作成されます。
EXPORTコマンドを使用するには、以下の手順に従ってください。
1       有効なEXPORTコマンドを含むメッセージをBatch Admin宛に送信します。
FirstClassは適切な情報を抽出し、その情報をインポートスクリプトの生成に使用します。
2       転送メッセージを作成し、宛先をBatch Adminにします。
3       メッセージ本文の<ObjDesc>をインポート先のパスに置き換えます。
会議室、カレンダー、グループ、およびメールリストは固有の名前にする必要があります。
チャット、フォルダ、メッセージ、会議室内のアイテム、ドキュメント、アップロードしたファイル、ステーショナリ、およびカレンダーの予定と作業は固有の名前にする必要はないため、調整は不要です。
06092010_122716_1.png注意
インポート先のフォルダ、会議室、カレンダーは、あらかじめ作っておく必要があります。NEWコマンドを利用して手動で作成するか、EXPORTコマンドに+nオプションを付けて作成できます。サーバコンソールに「object not found(オブジェクトが見つかりません)」というエラーが表示される場合には、パスが存在しないか、パスを誤って入力している可能性があります。
4 メッセージを送信します。
EXPORTでは、以下のオブジェクトは対象となりません。
・フォルダ、会議室、またはカレンダーのエイリアスはエクスポートできません(LINK SPECIALコマンドを使用して作りなおしてください)。
・会議室やカレンダーの権限フォームにある[対象]部分の情報はスクリプトでエクスポートできますが、所属グループと参加者一覧の情報はエクスポートできません。
Internetゲートウェイ経由でスクリプトを送信する場合、送信メールの行の長さがスクリプトの行の長さに対応する設定されていることを確認してください。この設定フィールドは、[Internet Services]フォルダ内の[メールの詳細設定]フォームの[送信]タブ内にあります。サーバコンソールに「object not found(オブジェクトが見つかりません)」エラーが表示された場合は、行の長さがスクリプトの長さより短く設定されている可能性があります。
06092010_122716_1.png注意
生成するインポートスクリプトの情報を最終変更日とスレッドIDに基づいて指定する方法については、SETEXPORTFILTERSを参照してください。添付ファイル名を選ぶ方法については、SETEXPORTOPTIONSを参照してください。
コマンド例の一覧
ルールのエクスポート
EXPORTの例
[Employee Lounge]会議室は[General Conferences]フォルダ内にあります。この会議室には、メッセージ、ドキュメント、アップロードされたファイル、子会議室、フォルダ、およびカレンダーがあります。
[Employee Lounge]会議室の中にある(すべてのメッセージ、ドキュメント、カレンダーアイテム、アップロードファイルに加えて)会議室、フォルダ、カレンダー、表示のプロパティの情報を含むスクリプトがサーバから返されるようにするには、以下のように入力します。
EXPORT "general conferences:Employee Lounge" +r
スクリプトの生成と処理を同時に行うには、以下のように入力します。
EXPORT "general conferences:employee lounge" "batch admin" "" "general conferences:management area" +br
子会議室やカレンダーの権限フォームの[対象]部分を含む(+p)スクリプトがサーバから返されるようにするには、以下のように入力します。
EXPORT "general conferences:Employee Lounge" +rp
上記のスクリプトには、[Employee Lounge]という名の会議室を作成したり、[Employee Lounge]会議室の権限フォームの内容を設定したりするコマンドは含まれません。
サブコンテナの権限フォームの[対象]部分を含み、内容(-c)や表示のプロパティ(-v)の情報を含まないスクリプトがサーバから返されるようにするには、以下のように入力します。
EXPORT "general conferences:Employee Lounge" +rp -cv
このスクリプトには、[Employee Lounge]会議室を作成したり、[Employee Lounge]会議室の権限を設定したりするコマンドは含まれません。
[Employee Lounge]会議室(+n)の権限フォームの[対象]部分(+p)を含み、サブコンテナ(+rを入れない)や内容(-c)、および表示のプロパティ(-v)を含まないスクリプトがサーバから返されるようにするには、以下のように入力します。
EXPORT "general conferences:Employee Lounge" +pn -cv
[Employee Lounge]会議室(+n)のルール(+e)を含み、サブコンテナ(+rを入れない)、内容(-c)、および表示のプロパティ(-v)を含まないスクリプトがサーバから返されるようにするには、下記のように入力します。
EXPORT "general conferences:Employee Lounge" +en -cv
Employee Lounge会議室(+n)を再作成し、権限フォーム上の[対象]部分(+p)、ルール(+e)、すべてのコンテナ(+r)を再現するスクリプトがサーバから返されるようにした場合、すべてのコンテナのルール、内容、権限フォーム、および表示のプロパティの情報も返されます。内容と表示のプロパティの情報は、デフォルトで含まれます。
EXPORT "general conferences:Employee Lounge" +nper
Employee Lounge会議室(+n)を再作成し、権限フォーム上の[対象]部分(+p)、ルール(+e)、すべてのコンテナ(+r)を再現するスクリプトがサーバから返されるようにした場合、すべてのコンテナの権限フォームとルールの情報も返されます。内容(-c)と表示のプロパティ(-v)が含まれないようにするには、下記のように入力します。
EXPORT "general conferences:Employee Lounge" +nper -cv
モデル表示とStudent Conferencesグループの内容を含むコンテナ用テンプレートを作成するスクリプトがサーバから返されるようにするには、以下のように入力します。
EXPORT "groups:Student Conferences" +g
EXPORT DESKTOPの例
sbramのコンタクトフォルダをpchuのコンタクトフォルダにエクスポートするには、以下のコマンドを実行します。
EXPORT DESKTOP sbram "Contacts"
サーバがスクリプトを返したら、転送メッセージを作成し、本文の<ObjDesc>を以下のコマンドに置き換えてbatch admin宛に送信します。
DESKTOP pchu "Contacts"
sbramのコンタクトフォルダをpchuのコンタクトフォルダにエクスポートする作業を一度に行うには、以下のコマンドを実行します。
EXPORT DESKTOP sbram "Contacts" "batch admin" "" DESKTOP pchu "Contacts" +b
sbramの[Voice Greetings]フォルダにある[Voice Menus]フォルダを、pchuのすでに存在している[Voice Greetings]>[Voice Menus]フォルダへ一度にエクスポートするには、以下のコマンドを実行します。
EXPORT DESKTOP sbram "voice greetings:voice menus" "batch admin" "" DESKTOP pchu "voice greetings:voice menus" +b
ルールについては、FirstClassスクリプトですべて対応できるわけではありません。ルールを作成したり既存のルールを変更したりすることはできますが、ルールを削除することはできません。
sbramのメールボックスからルールをpchuのメールボックスにエクスポートするには、以下のコマンドを実行します。
EXPORT DESKTOP sbram "mailbox" +ne -cv
サーバからスクリプトが返されたら、転送メッセージを作成して、以下の変更を加えます。
・<ObjDesc>をDESKTOP pchuに変更します。
・メールボックスを作成し、権限を設定するコマンドをコメントアウトします。
・Paulのメールボックス内に[Conference Mail]フォルダを作成するコマンドを追加します。
//メールボックス内にフォルダを作成する

NEW DESKTOP pchu "mailbox" "Conference Mail" "" folder 26093 -1 -1

SetBase DESKTOP pchu

SetRelative FromBase Path ""
//New Relative "" "MailBox" "" Conference 23009 60 57 +P
//Put Permissions Relative "MailBox" 1012 7 0 1006 14 0 1004 14 0 2008 7 0 1000 6 0 1002 6 0 1001 6 0 1007 7 0 2009 7 6

SetBase FromBase Path "MailBox"
SetRelative FromBase Path ""

// Reference: 1:20134
New Relative "" "File in Folder" "" FormDoc 23047 112 15 23 23 -U+X
Put Previous 8120 7 1252 8140 0 8141 0 9 ""
Put Previous 13801.0 7 1 13810.0 7 11 13806.0 7 21 13821.0 7 2 13830.0 7 1 13832.0 0 "Conference Mail"
Put Properties Previous 13801 7 1
Put Properties Previous 13830 7 1
Put Properties Previous 1018 14 -1127673958

Compile Relative ""

SetRelative FromBase Path ""
グループのEXPORTの例
ユーザグループとコンテナ用テンプレートグループは、1つのグループフォームで構成されていますが、権限や表示のプロパティやリソースを含んでいる場合があります。
以下のコマンドを利用するだけで、グループフォームを再作成するスクリプトが返されます。

EXPORT "groups:employee"
ユーザグループの場合は、以下のコマンドを利用すると、ユーザグループフォーム、モデルデスクトップの表示のプロパティ、および[Rules & Resources]フォルダの内容を再作成するスクリプトが返されます。
EXPORT "groups:employee" +g
コンテナ用テンプレートグループの場合は、以下のコマンドを利用すると、コンテナ用テンプレートフォームとその権限、モデル表示の表示のプロパティ、および[Rules & Resources]フォルダの内容を再作成するスクリプトが返されます。
EXPORT "groups:employee read conferences" +g




IF、ELSE、ENDIF
これらのコマンドによって、FirstClassスクリプトで論理フローを制御できるようになります。スクリプトを実行する場合、各IFコマンドにENDIFコマンドを組み合わせて使用しなければなりません。また、各IFコマンドに、ELSEコマンドを1つ組み合わせる場合があります。
警告メッセージが出ないようにするためにIFコマンドを利用するのは、あまり意味がありません。例えば、ユーザのデスクトップからフォルダを削除したいが、そのフォルダが存在しているかどうかわからないような場合です。この場合、フォルダの存在をチェックしてから削除するスクリプトを作成するより、フォルダが存在していなくてもフォルダの削除動作を行うスクリプトを作成した方が効率的です。
また、[ユーザ情報]フォームの[ディレクトリに公開]権限を有効にしたいユーザが数多くいるような場合も同様です。[ディレクトリに公開]権限がすでに有効になっているユーザがいると考えられる場合でも、現在の権限設定をチェックするよりも、単純にすべてのユーザに対して権限を有効にする方がはるかに効率的です。複雑なスクリプトを書く必要なくなり、サーバが行わなければならない作業も少なくて済みます。
構文
IF Expression Test Expression
条件が真に評価された場合に実行させるコマンド
ELSE
条件が偽に評価された場合に実行させるコマンド
ENDIF
パラメータ
OBJECT path EXISTS      指定されたオブジェクトが存在するかどうかを調べます。
OBJECT path MISSING     指定されたオブジェクトが存在しないかどうかを調べます。
FIELD FieldID EXISTS    スクリプトの対象となっているフォーム上のフィールドに、データが入力されているかどうかを調べます。
FIELD FieldID MISSING   スクリプトの対象となっているフォーム上のフィールドに、データが入力されていないかどうかを調べます。
FORMFIELD path FieldID EXISTS   他のフォーム上のフィールドにデータが入力されているかどうかを調べます。
FORMFIELD path FieldID MISSING  他のフォーム上のフィールドでデータが入力されていないかどうかを調べます。
FIELD FieldID test fieldvalue   スクリプトの対象となっているフォーム上のフィールドの内容を、指定されたパターンで調べます。
FIELD FieldID test FIELD FieldID        スクリプトの対象となっているフォーム上にある2つのフィールドの内容を比較します。
FORMFIELD path FieldID test fieldvalue  パスで指定された他のフォーム上のフィールドの内容を調べます。
test    以下のパターンから1つを選んで、数値を比較します。
                <       より小さい
                <       より小さいか等しい
        ==    等しい
                =!      等しくない
                >=      より大きいか等しい
                >       より大きい
pathオブジェクトの位置です。管理者デスクトップからの相対位置で指定します。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
DESKTOP userID path     ユーザのデスクトップ上のオブジェクトです。パスは、ユーザのデスクトップからの相対位置で指定します。
fieldID         フィールドIDです。
fieldvalue      フィールドの値です。引用符で囲む必要がある場合があります。フィールドの値は、チェックボックス、ポップアップ、および数値に対しては数値で示す必要があります。ポップアップの値は、FirstClassデザイナーで調べることができます。
OBJECTの例
複雑なスクリプトを書く前に、IFコマンドが予測どおりの結果を返すかどうか確認する作業から始めるとよいでしょう。
以下のスクリプトを実行すると、[Employee Lounge]会議室がGeneral Conferences内に存在するかどうかを確認し、TrueかFalseを含むメッセージが返されます。
REPLY
IF OBJECT "General Conferences:Employee Lounge" EXISTS
WRITE True
ELSE
WRITE False
ENDIF
この単純な作業を行うことで、スクリプトのデバッグ時にIFコマンドの誤りを見つけて削除できるようになります。この例では、Falseが返されたら、構文か表示されたエラーを調べてください。
[Employee Lounge]会議室内にコンタクトデータベースがあり、このエイリアスを販売スタッフ全員のコンタクトフォルダ内に作成する場合を例に取ります。一部の販売スタッフのコンタクトにはこのエイリアスがすでに作成されていますが、全員が確実にこのエイリアスを利用できるようにすることとします。また、コンタクトデータベースの名前をCustomersからEast Coast Customersに変更することにします。したがって、この例では2つの解決すべき問題があります。それは、既存のエイリアスの名前を変更することと、エイリアスが存在しない場合に作成することです。

//ユーザのコンタクトフォルダ内にCustomersのエイリアスがあるかどうかをチェックする
IF OBJECT desktop sbram "Contacts:Customers" EXISTS
//上の文が真であれば名前を変更する
rename desktop sbram "Contacts:Customers" "East Coast Customers"
ELSE
//上の文が偽であればエイリアスを作成する
LINK SPECIAL desktop sbram "Contacts" "General Conferences:Employee Lounge:East Coast Customers"
ENDIF

次の例では、テスト結果によってドキュメント内のスクリプトが実行されます。

//ユーザのコンタクトフォルダ内にCustomersのエイリアスがあるかどうかをチェックする
IF OBJECT desktop sbram "Contacts:Customers" EXISTS
//上の文が真であれば以下のスクリプトを実行する
EXECUTE SCRIPT PATH desktop admin "scripts:TrueContacts"
ELSE
//上の文が偽であれば以下のスクリプトを実行する
EXECUTE SCRIPT PATH desktop admin "scripts:FalseContacts"
ENDIF

ユーザIDの一覧に基づいてコマンドを繰り返す方法については、REPEATコマンドを参照してください。
FORMFIELDの例
専用のフォームにフィールドIDが1000のチェックボックスがあり、このフィールドの値によって2つの異なるスクリプトを実行するとします。
IF FORMFIELD "General Conferences:Employee Lounge:Event form" 1000 == 1
//値が1であれば以下のコマンドを実行する
ELSE
//値が1でなければ以下のコマンドを実行する
ENDIF
専用のフォームにフィールドIDが1000のチェックボックスがあり、そのフィールド値が1であればスクリプトを実行するとします。値が1でなければ、スクリプトを中断します。
IF FORMFIELD "General Conferences:Employee Lounge:Event form" 1000 == 1
//値が1であれば以下のコマンドを実行する
ELSE
//値が1でなければコマンドの実行をここで停止する
ENDSCRIPT
ENDIF
FIELDの例
リストからのみ選択]が有効になっている選択リストのあるフォームがユーザに提供されているとします。選択肢は、[プロジェクトを新規作成]と[プロジェクトをコピー]の2つです。[プロジェクトを新規作成]がデフォルト値です。したがって、このフィールドを[プロジェクトを新規作成]に設定すると、このフィールドは存在しない(MISSING)状態になります。その理由は、サーバはどのフォームのデフォルト値も保持しないためです。フィールドにデータが保持されるのは、[プロジェクトにコピー]が選択された場合だけです。
以下のコマンドのいずれかが使用できます。
IF FIELD 1000 EXISTS
//フィールドにデータがあるため、プロジェクトをコピーするスクリプトを実行する
EXECUTE SCRIPT path desktop admin "my scripts:copy project"
ELSE
//フィールドにデータがないため、プロジェクトを作成するスクリプトを実行する
EXECUTE SCRIPT path desktop admin "my scripts:new project"
ENDIF
または
IF FIELD 1000 MISSING
//フィールドにデータがないため、プロジェクトを作成するスクリプトを実行する
EXECUTE SCRIPT path desktop admin "my scripts:new project"
ELSE
//フィールドにデータがあるため、プロジェクトをコピーするスクリプトを実行する
EXECUTE SCRIPT path desktop admin "my scripts:copy project"
ENDIF
または
IF FIELD 1000 == プロジェクトをコピー
//フィールドの値が[プロジェクトをコピー]であるため、プロジェクトをコピーするスクリプトを実行する
EXECUTE SCRIPT path desktop admin "my scripts:copy project"
ELSE
//フィールドの値が[プロジェクトをコピー]ではないため、プロジェクトを作成するスクリプトを実行する
EXECUTE SCRIPT path desktop admin "my scripts:new project"
ENDIF
06092010_122716_1.png注意
フォームにID 1000のフィールドがない場合、IFコマンドはフィールドが存在しない(MISSING)状態であると判断します。
同じフォームにプロジェクト名を入力するフィールド(ID 1001)を配置し、IFコマンドを利用して、このフォームにプロジェクト名が存在しない(MISSING)場合にはスクリプトを中断することにします。このスクリプトでは、IFコマンドを入れ子にして使用します。
IF FIELD 1001 MISSING
REPLY
WRITEプロジェクトが入力されていないため、このスクリプトは動作しません。
ENDSCRIPT
ELSE
ENABLEFIELDSUBSTITUTION
NEW "general conferences:projects" "#1002" "" CONFERENCE 8 -1 -1 +p
//この部分は所属グループを設定するコマンドを含むスクリプト。
IF FIELD 1002 == 非公開プロジェクト灯
//フィールドの値が「非公開プロジェクト」であるため、この会議室を[非公開プロジェクト]コンテナ用テンプレートに所属させる。
ELSE
//フィールドの値が[非公開プロジェクト]ではないため、この会議室を[販売スタッフ]コンテナ用テンプレートに所属させる。
ENDIF
ENDIF
スクリプトを利用して、スクリプトの対象となっているフォームにあるフィールドと、他のフォームにあるフィールドの内容を比較するとします。
IF FIELD 1000 == FORMFIELD "general conferences:employee lounge:Event form" 1001
関連するコマンド
EXPORTENABLEFIELDSUBSTITUTIONCOPY、およびPGADDコマンドをIFコマンドと組み合わせて使用すると、独自のワークフローを実行するスクリプトを作成できます。




GET
FirstClassオブジェクトからフィールドレベルでデータを抽出します。GETコマンドはフィールドIDごとに要求された3種類のフィールド(fieldID、fieldtype、およびfieldvalue)のデータ行を、PUTコマンドのフィールドリストに合う形式で返します。REPLYコマンドをGETコマンドの前に記述しなければなりません。詳細はPUTコマンドを参照してください。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。objdescがない場合は、PATHが使用されます。
構文
REPLY
GET keyword fieldIDs +d +D +g
・宛先のフィールドを取得するために使用する場合は、以下のように入力します。
REPLY
GET keyword addressID index
パラメータ

ABOUT containername
会議室またはカレンダーのプロフィールです。
ABOUTPATH containername
ディレクトリに登録されていない会議室またはカレンダーのプロフィールです。
CLIENT clientID
クライアントIDで指定されたユーザの[ユーザ情報]フォーム、またはリモート名やルートの[ディレクトリ情報]フォームです。
DIRECTORY directorytype
会議室(ODInfo)、フォルダ(ODInfo)、ゲートウェイ(ODGateway)、ユーザグループ(ODInfo)の[ディレクトリ情報]フォームです。directorytypeキーワードは、conference、calendar、maillist、またはgroupです。
path
管理者デスクトップからの相対パスで指定されたオブジェクトです。
DESKTOP userID path
ユーザのデスクトップからの相対パスで指定されたオブジェクトです。パスの各要素はコロンで区切ってください。
PROFILE userID appID.formID
ユーザIDで指定した、特定のアプリケーションのプロフィールです。アプリケーションIDとアプリケーションのプロフィールはピリオドでつなげます。
PROFILE clientID appID.formID
クライアントIDで指定した、特定のアプリケーションのプロフィールです。アプリケーションIDとアプリケーションのプロフィールはピリオドでつなげます。
PREFERENCES userid
ユーザの[基本設定]フォームと[印刷レイアウト]フォームです。
PROPERTIES path
Mac OSでは[情報を見る]フォーム、Windowsでは[プロパティ]フォームから情報を取り出すのに使用します。パスは、管理者のデスクトップからの相対パスで指定します。
PROPERTIES byindex indexnumber path
Mac OSでは[情報を見る]フォーム、Windowsでは[プロパティ]フォームから情報を取り出すのに使用します。
PROPERTIES byindex indexnumber DESKTOP userID path
Mac OSでは[情報を見る]フォーム、Windowsでは[プロパティ]フォームからフィールドの情報を取り出すのに使用します。
PROPERTIES byindex indexnumber path
Mac OSでは[情報を見る]フォーム、Windowsでは[プロパティ]フォームから情報を取り出すのに使用します。インデックス番号(indexnumber)を取り出すにはDIRコマンドを使用します。パスは、管理者のデスクトップからの相対パスで指定します。
PROPERTIES byindex indexnumber DESKTOP userID path
Mac OSでは[情報を見る]フォーム、Windowsでは[プロパティ]フォームからフィールドの情報を取り出すのに使用します。インデックス番号(indexnumber)を取り出すにはDIRコマンドを使用します。
PERMISSIONS path
会議室、カレンダー、またはコンタクトデータベースの権限フォームです。パスは、管理者のデスクトップからの相対パスで指定します。
PERMISSIONS DESKSOP userID path
会議室、カレンダー、またはコンタクトデータベースの権限フォームです。パスは、ユーザのデスクトップからの相対パスで指定します。
USER userID
ユーザIDで指定された[ユーザ情報]フォームです。
USERCONFIG userID
ユーザの[メールのインポート]フォームです。
RESUME userid
ユーザのプロフィールです。
RULES path rulename
コンテナの[Rules & Resources]フォルダです。パスは、管理者デスクトップからの相対位置で指定します。
RULES DESKTOP userid path rulename
コンテナの[Rules & Resources]フォルダです。パスは、ユーザのデスクトップからの相対位置で指定します。
SYSPROFILE
システムプロファイルです。
fieldIDs
取得するフィールドのフィールドIDです。フィールドIDは、FirstClassデザイナーとともにインストールされたExample.fcで調べることができます。
addressID
[宛先]フィールドは4、[CC]フィールドは5、[BCC]フィールドは14です。権限フォーム上の[対象]フィールドは29です。これらのフィールドについては上記のIDを使用し、FirstClassデザイナーで表示されるフィールドIDは無視してください。
index
リスト内でエントリを指定する位置です。0は一番上に表示されている名前、1は2番目に表示されている名前、というように続きます。-1にすると、すべてのエントリを取得します。
+d +D
省略可能で、大文字と小文字が区別されます。+dはクライアントのフォーマットで時間を返します。+Dはシステムのデフォルトのフォーマットで時間を返します。このオプションは、[ユーザ情報]フォームの[作成日時]フィールド(ID 1235)および[最終ログイン日時]フィールド(ID 1230)で使用できます。
コマンド例の一覧

GETコマンドは、PUTコマンドを作成する際に役立ちます。例えば、[住所]フィールド(ID 1205)と[電話]フィールド(ID 1206)をすべてのユーザに追加したい場合、GETコマンドを利用してPUT構文を作成できます。
1 FirstClassデザイナーでExample.fcを開きます。
2 [ユーザ情報]フォーム(フォームID 125)を開き、この2つのフィールドのフィールドIDを調べます。
3 任意のユーザ(この例ではsbram)に住所と電話を入力します。
4 以下のようにGETコマンドを記述して送信します。
reply
GET USER sbram 1255 1256
        サーバからフィールドのID、フィールドの種類、およびフィールドの値が返されます。
1255 0 "9055551212" 1256 0 "1212"
5 フィールドの値を適切な内容に置き換えて、PUTコマンドを作成します。ユーザID pchuのユーザに住所と電話番号の情報を追加する場合は、下記のようになります。
PUT USER pchu 1255 0 "9055551213" 1256 0 "1213"
GET ABOUTの例
ディレクトリに公開されているコンテナで使用します。[プロフィール]フォームのタイトル(フィールドID 1000)と本文(フィールドID 6)を取り出すには、以下のように入力します。
REPLY
GET ABOUT "General Conferences:Employee Lounge" 1000 6
会議室は、[プロフィール]フォーム(フォームID 97)を使用しています。
GET ABOUTPATHの例
ディレクトリに公開されていないコンテナで使用します。ディレクトリに名前が公開されていない会議室やカレンダーの[プロフィール]フォームからタイトル(フィールドID 1000)と本文(フィールドID 6)を取り出すには、以下のように入力します。
REPLY
GET ABOUTPATH "General Conferences:secret employee lounge" 1000 6

会議室は、[プロフィール]フォーム(フォームID 97)を使用しています。
GET CLIENTの例
ユーザIDは管理者によって変更が可能ですが、クライアントIDは変更できず、同じ番号が重複して利用されることもありません。
Susan Bram(ユーザID sbram)のクライアントIDが1602であるとします。sbramの[ユーザID]フィールド(ID 1201)、[名前1]フィールド(ID 1202)、[名前2]フィールド(ID 1203)および[名前3]フィールド(ID 1204)を、クライアントIDを指定して取り出すには、以下のように入力します。
REPLY
GET CLIENT 1602 1201 1202 1203 1204
サーバから以下の情報が返されます。
1201 0 "sbram" 1202 0 "Susan 1203 0 "A" 1204 0 "Bram"
クライアントIDを使用して、DIRECTORYキーワードが対応している[ディレクトリ情報]フォームから情報を取り出すこともできます。また、CLIENTキーワードを使用して、リモート名とルートの[ディレクトリ情報]フォームから情報を取り出すことができます。
クライアントIDが1956のリモート名から[メールエイリアス]フィールドの情報を取り出すには、以下のように入力します。
REPLY
GET CLIENT 1956 1252
06092010_122716_1.png注意
リモートユーザの[ディレクトリ情報]フォームに表示されているクライアントIDは、リモートサイト上でのクライアントIDです。ディレクトリの一覧を使用して、自サイトでの正しいクライアントIDを調べてください。
[インターネットの基本設定]フォームの、[プライマリドメイン名]フィールド(ID 1001)を取得するには、以下のように入力します。
REPLY
GET "internet services:basic internet setup" 1001
Employee Calendarという名のカレンダーで、Susan Bramがたくさんの予定を登録しているとします。大半のコマンドはオブジェクトの名前を指定して動作させることができますが、このカレンダーでは、多くのイベントがSusan Bramという同じ名前になっています。また、PATHCHARコマンドを使えば件名を指定できますが、このカレンダーには同じ件名のイベントが複数登録されています。このような場合には、BYINDEXキーワードが使用できます。
以下のコマンドを送信すると、予定のインデックス番号を取り出せます。
REPLY
DIR "general conferences:employee lounge:employee calendar" +pld
サーバから、以下のようなメッセージが返されます。
Contents of:"general conferences:employee lounge:employee calendar"
        [L:2] "Susan Bram" "避難訓練"       2004/05/17  09:06:48
        [L:3] "Susan Bram" "昼食兼勉強会"      2004/04/17  09:08:28
        [L:4] "Susan Bram" "資金調達に関する会議"       2004/05/17  09:09:24
        [L:5] "Susan Bram" "昼食兼勉強会"      2004/05/17  09:45:43
4月の「昼食兼勉強会」の予定に対して操作を行うには、以下のコマンドを入力します。
REPLY
GET BYINDEX 3 "general conferences:employee lounge:employee calendar" 1009
同じ予定の[プロパティ]フォームに対して操作を行うには、以下のコマンドを入力します。
REPLY
GET PROPERTIES BYINDEX 3 "general conferences:employee lounge:employee calendar" 1016
Susan Bramのデスクトップにあるカレンダーに対して操作を行う場合、コマンドは以下のようになります。
REPLY
GET PROPERTIES byindex 3 desktop sbram "calendar" 1016
詳細はDIRコマンドを参照してください。
GET DESKTOPの例
SusanのデスクトップにあるWebフォルダ内に保存されたHome Pageというドキュメントの本文を取り出すには、以下のように入力します。
REPLY
GET DESKTOP sbram "my web site:home page" 6
GET PROFILEの例
フォームID 4001を使用してローカルアプリケーションを作成したとします。また、アプリケーション作成の際、このアプリケーションのプロフィールを表示するために独自のフォームも作成したとします。アプリケーションの[プロフィール]フォームのIDは1001にしました。ユーザIDで指定されたこのアプリケーションのプロフィールからフィールドID 2001の情報を取得するには、以下のように入力します。
REPLY
GET PROFILE USER sbram 4001.1001 2001
クライアントIDで指定されたこのアプリケーションのプロフィールからフィールドID 2001の情報を取得するには、以下のように入力します。
REPLY
GET PROFILE CLIENT 1706 4001.1001 2001
GET PERMISSIONSの例
[コンタクトの権限]フォーム上にある[対象]部分の先頭のエントリを取り出すには、以下のように入力します。
REPLY
GET PERMISSIONS "General Conferences:Employee Lounge:Customer List" 29 0
[コンタクトの権限]フォーム上にある[対象]部分のすべてのエントリを取り出すには、以下のように入力します。
REPLY
GET PERMISSIONS "General Conferences:Employee Lounge:Customer List" 29 -1
上の例は、会議室およびカレンダーでも利用できます。ただし、[参加者一覧]フィールドと[所属]フィールドは、GETコマンドでは対応していません。
]EXPORTコマンドを使用して、権限フォームから利用可能なすべてのフィールドの情報を取り出すことができます。[所属]フィールドと[参加者一覧]フィールドを除く権限フォームの内容を取得するには、以下のように入力します。

EXPORT "General Conferences:Employee Lounge:Customer List" +np
GET PREFERENCESの例
[基本設定]フォーム(ID 127)の[返信テキスト]フィールド(ID 1106)を取り出すには、以下のように入力します。
REPLY
GET PREFERENCES sbram 1106
06092010_122716_1.png注意
・10000以上の値のフィールドは取り出せません。
・デフォルト値は保存されていません。例えば、ユーザが[返信の設定]フィールドをデフォルトの「自動」に設定していると、空のメッセージが返されます。
GET PROPERTIESの例
[Employee Lounge]会議室の[プロパティ]フォームから、[アイコンID]フィールド(ID 1304)、[名前]フィールド(ID 1017)、[場所]フィールド(ID 1020)、および[作成者]フィールド(ID 1043)の情報を取り出し、この会議室が保護されているかどうか([保護]フィールド(ID 1016))を調べるには、以下のように入力します。
REPLY
GET PROPERTIES "General Conferences:employee lounge" 1304 1017 1020 1043 1016
Susanがデスクトップ上に[Presentations]という会議室を作成したとします。この会議室の[プロパティ]フォームから、[アイコンID]フィールド(ID 1304)、[名前]フィールド(ID 1017)、[場所]フィールド(ID 1020)、および[作成者]フィールド(ID 1043)の情報を取り出し、この会議室が保護(フィールドID 1016)されているかどうかを調べるには、以下のように入力します。
REPLY
GET PROPERTIES DESKTOP sbram presentations 1304 1017 1020 1043 1016
他のフィールドIDを調べる場合は、FirstClassデザイナーで[情報を見る]フォーム(フォームID 111)を開いてください。
GET USERの例
ユーザsbramの[ユーザ情報]フォームから[ユーザID]フィールド(ID 1201)、[名前1]フィールド(ID 1202)、[名前2]フィールド(ID 1203)および[名前3]フィールド(ID 1204)を取得するには、以下のように入力します。
REPLY
GET USER sbram 1201 1202 1203 1204
サーバから以下の情報が返されます。
1201 0 "sbram" 1202 0 "Susan 1203 0 "A" 1204 0 "Bram"
返信メッセージにユーザIDが含まれるように問い合わせを行えば、どのユーザに関する情報なのかを識別できます。1つのコマンドで複数のフィールドに対して問い合わせする方が、複数のコマンドを送信するより効率的です。
[パスワード]フィールド(ID 1217)は、管理者アカウントからのみ取り出すことができます。sbramのパスワードを取り出すには、以下のように入力します。
REPLY
GET USER sbram 1201 1217
MD5形式でパスワードを取り出すには、以下のように入力します。
REPLY
GET USER sbram 1201 1217 +m
サーバから以下の情報が返されます。
1217 0 "brocoli"
sbramの最終ログイン日時を取り出すには、以下のように入力します。
REPLY
GET USER sbram 1201 1230 +d
サーバが1904年1月1日を返した場合は、ユーザがサーバに一度もログインしていないことを表します。
ユーザが所属するグループを知りたい場合には、[ユーザ情報]フォームの[このユーザが所属するグループ]フィールドからデータを取り出す必要があります。このフィールドは[宛先]フィールドであるため、フィールドIDは4になります。フィールドの種類は必要ありません。
REPLY
GET USER sbram 4 -1
サーバから、以下の情報が返されます。
4 0 "Regular Users"
4 1 "Employee"
4 2 "East Coast"
sbramが2番目に所属しているグループを知るには、以下のように入力します。
REPLY
GET USER sbram 4 1
他のフィールドのIDを調べる場合は、FirstClassデザイナーでexample.fcファイルの[ユーザ情報]フォーム(フォームID 125)を開いてください。
GET USERCONFIGの例
sbramの[メールのインポート]フォームから、[アイコンID]フィールド(ID 2005)、[メールサーバ]フィールド(ID 2000)、[ユーザ名]フィールド(ID 2001)、[パスワード]フィールド(ID 2002)、および[メールアドレス]フィールド(ID 2003)を取り出すには、以下のように入力します。
REPLY
GET USERCONFIG sbram 2005 2000 2001 2002 2003
他のフィールドのIDを調べる場合は、FirstClassデザイナーで[メールのインポート]フォーム(フォームID 68)を開いてください。
GET RESUMEの例
Susan Bramの[プロフィール]フォームから[個人の電子メール]フィールド(ID 5)と個人のWebサイト(フィールドID 1058)を取得するには、以下のように入力します。
REPLY
GET RESUME sbram 6 5 -1

-1を付けることで、[個人の電子メール]フィールドの先頭のエントリだけではなく、全エントリが抽出されます。他のフィールドのIDを調べる場合は、FirstClassデザイナーで[コンタクト]フォーム(フォームID 105)を開いてください。
GET RULESの例
「次のフォルダに保存する」というルールが有効になっているかどうか(フィールドID 13800)を判別するには、以下のように入力します。
REPLY
GET RULES "General Conferences:employee lounge" "次のフォルダに保存する" 13800
サーバから空の引用符の組(””)が返されたら、このフィールドは有効になっていることを表します。ルールはデフォルトで有効になっているため、値1はサーバに保存されないからです。
GET SYSPROFILEの例
システムプロファイルから、[ユーザおよび会議室を作成するボリューム]フィールド(ID 1224)、[シリアル番号]フィールド(ID 1217)、および[バージョン]フィールド(ID 1202)を取り出すには、以下のように入力します。
REPLY
GET SYSPROFILE 1224 1217 1202
他のフィールドのIDを調べる場合は、FirstClassデザイナーで[システムプロファイル]フォーム(フォームID 122)を開いてください。
関連するコマンド
フィールドの値を変更するには、PUTコマンドを参照してください。
オブジェクトを作成するには、NEWコマンドを参照してください。
インデックス番号を指定してオブジェクトを操作するには、DIRコマンドを参照してください。
すべてのフォームデータを含むスクリプトを生成するには、EXPORTコマンドを参照してください。



GETADMIN
システム管理者のユーザIDを調べます。自動管理ソフトウェアを使用して、FirstClassを他のサーバソフトウェアと同期させる場合に便利です。このコマンドは、REPLYコマンドと組み合わせて使用してください。
構文
REPLY
GETADMIN



HOLD
サーバを一時停止状態にし、ネットワークストアのスナップショットを取ってからサーバを開放できるようにします。一度静止状態になると、サーバは手動で解放されるか割り当てられた時間(デフォルトでは60秒)が経過するまで、大半の要求に応答しなくなります。
構文
Hold OptionalHoldTime
OptionalHoldTime        サーバが静止状態から解放されるまでの合計時間の秒数です。指定しない場合は、デフォルトの60秒になります。
サーバを2分間一時停止状態にするには、以下のコマンドを送信します。
HOLD 120
06092010_122716_1.png注意
いったんこのコマンドが実行されると、サーバの開放はサーバコンソール上でしかできなくなります。静止時間が過ぎてサーバが開放されるまで、メッセージを新しく作成することはできません。



INTIATEAPPINSTALL
[アプリケーション設定]フォームにFirstClassアプリケーションを登録し、アプリケーションフォルダを作成します。アプリケーションの登録に失敗すると、スクリプトは終了します。
構文
INITIAEAPPINSTALL appid appname appvendor
パラメータ
appid   1001~1999。ユーザレベルで登録するアプリケーションです。
2000~2999。サイトレベルで登録するアプリケーションです。
4000~4999。ローカルアプリケーションです。
appname アプリケーション名です。
appvendor       アプリケーションのベンダの名前です。
Projectsという名のローカルアプリケーションを登録するには、以下のように入力します。
INITIATEAPPINSTALL 4001 Projects "Local Application"
このコマンドによって、[Projects]という名のフォルダが[FirstClass Applications]フォルダ内に作られます。


LICENSE
FirstClassのライセンスファイルを使用して、FirstClassサーバをシャットダウンすることなくシステムをアップグレードするために使用します。ライセンスファイルは、FirstClassツールズでも使用できます。
構文
LICENSE operation licensenumber
パラメータ
operation               ADD(登録)またはREMOVE(削除)です。
licensenumber   ライセンスファイルのファイル名です。
LICENSE ADD 123456789.KEY
LICENSE REMOVE 987654321.LIC



LINK PATH
コンテナのエイリアスを作成し、他の会議室やフォルダ内に配置します。このコマンドでは、ユーザのデスクトップ上にあるオブジェクトのエイリアスは作成できません。詳細はLINK SPECIALを参照してください。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
構文
LINK PATH newpath currentpath
パラメータ
newpath 新しいエイリアスを配置する場所で、管理者デスクトップからの相対位置で指定します。
currentpath     既存のオブジェクトの位置で、管理者デスクトップからの相対位置で指定します。
[Genaral Conferences]フォルダの[Existing Policies]会議室のエイリアスを[Management]会議室内に作成するには、以下のように入力します。
LINK PATH "General Conferences:Management" "General Conferences:Existing Policies"
関連するコマンド
会議室のエイリアスの水平位置および垂直位置を変更するには、LINK SPECIALまたはPUT PROPERTIESを参照してください。
フォルダや会議室をユーザのデスクトップに置くには、LINK SPECIALまたはLINK USERを参照してください。



LINK USER
コンテナのエイリアスを作成し、ユーザのデスクトップに配置します。そのユーザの名前が、[会議室の権限]フォームの[参加者一覧]フィールドに追加されます。LINK USERでエイリアスを作成できるのは、ユーザのデスクトップ上だけです。エイリアスをユーザのデスクトップにあるコンテナ内に配置したい場合には、LINK SPECIALを参照してください。
構文
LINK USER userID currentpath
パラメータ
userID  エイリアスをデスクトップに配置する必要のあるユーザのユーザIDです。
currentpath     既存のオブジェクトの位置で、管理者デスクトップからの相対位置で指定します。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
[Empoyee Lounge]という会議室のエイリアスを作成し、sbramのデスクトップに配置するには、以下のように入力します。
LINK USER sbram "General Conferences:Employee Lounge"
関連するコマンド
会議室のエイリアスの水平位置および垂直位置を変更するには、LINK SPECIALまたはPUT PROPERTIES DESKTOPを参照してください。



LINK SPECIAL
コンテナのエイリアスを作成し、他のコンテナの中に配置します。このコマンドを使用すると、ユーザのデスクトップ上にある既存のコンテナ内にエイリアスを作成できます。このコマンドでは、エイリアスの保護を有効にしたり、位置を決めたり、アイコンを選んだりすることも可能です。
このコマンドを使用して、パンチスルーカレンダーを作成することもできます。
PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
構文
LINK SPECIAL newpath currentpath +i iconID +l h v +p
LINK SPECIAL DESKTOP userID newpath DESKTOP userID currentpath +i iconID +l h v +p
パラメータ
path    新しいオブジェクトの場所で、管理者デスクトップからの相対位置で指定します。パスの各要素はコロンで区切ってください。
DESKTOP userID path     ユーザのデスクトップ上にオブジェクトを作成します。パスは、ユーザのデスクトップからの相対位置で指定します。
newpath 新しいエイリアスを配置する場所です。
currentpath     既存のオブジェクトの場所です。
h       新しいエイリアスの水平ピクセル位置で、管理者デスクトップの左上角からの相対位置で指定します。オブジェクトを自動的に配置する場合は、+lオプションを使用しないでください。
v新しいオブジェクトの垂直ピクセル位置で、管理者デスクトップの左上角からの相対位置で指定します。オブジェクトを自動的に配置する場合は、+lオプションを使用しないでください。

+i IconID       省略可能です。このエイリアスに使用するアイコンIDです。
+l h v  省略可能です。新しいエイリアスの水平位置と垂直位置です。
+p      省略可能です。エイリアスの保護設定を有効にします。エイリアスを保護しない場合には、+pを使用しないでください。
Paul Chu(ユーザID pchu)のデスクトップ上にある[My Work]フォルダ内に、Susan(ユーザID sbram)の[Husky Planes Policy]フォルダのエイリアスを作成します。Susanの[Husky Planes Policy]フォルダは、Working Areaというフォルダ内にあります。
LINK SPECIAL DESKTOP pchu "My work" DESKTOP sbram "working area:husky planes policy" +i 23007 +l 50 50 +p
06092010_122716_1.png注意
+i+l、および+pは任意の順序で並べることができ、省略することも可能です。
[Employee Lounge]会議室内の[Customer Info]コンタクトデータベースのエイリアスをSusanが利用する必要があるとします。[Employee Lounge]会議室は、管理者のデスクトップ上の[General Conference]フォルダ内にあります。そこで、このエイリアスをSusanのコンタクトフォルダに配置することにします。
LINK SPECIAL DESKTOP sbram "contacts" "General conferences:employee lounge:customer info"

• Susan Bramが自分のカレンダーを開いたときに、Employee Calendarの内容が表示されるようにします。

LINK SPECIAL desktop sbram "calendar" "general conferences:employee calendar"
関連するコマンド
会議室のエイリアスの水平位置および垂直位置を変更するには、LINK SPECIALまたはPUT PROPERTIESを参照してください。
フォルダや会議室をユーザのデスクトップに置くには、LINK SPECIALまたはLINK USERを参照してください。



LIST
ユーザ、リモート名、会議室、カレンダー、メールリスト、およびグループの一覧を生成します。この一覧は、ディレクトリ全体から生成することも、指定したグループだけから生成することも可能です。LISTコマンドはREPLYコマンドの後に記述しなければなりません。パスワードは空白("")として抽出されます。パスワードの一覧を取り出すには、GETコマンドを使用してください。
構文
・ユーザアカウントの場合
        LIST pattern number G1...Gn +uraxl
・他のディレクトリエントリの場合
        LIST pattern number G1...Gn +cgoz
パラメータ              
pattern 省略可能です。検索対象の文字列です。
number  省略可能です。検索するグループの数です。
G1...Gn 検索対象のグループ名です。
+u      レギュラーユーザおよびリモートユーザをすべて抽出します。エントリは、ADD NETWORK/ADD TELECOMコマンドの書式で出力ファイル内に記述され、deptの前までのパラメータがすべて出力されます。
+r      すべてのリモート名を抽出します。エントリは、ADD REMOTEコマンドの書式で出力ファイル内に記述されますが、Gatewayパラメータは含まれません(Gatewayフィールドの情報は、リモートユーザにとっては意味がありません)。
+a      レギュラーユーザ、リモートユーザ、およびリモート名をすべて抽出します。エントリは、ADD REMOTEコマンドの書式で出力ファイル内に記述されますが、Gatewayパラメータは含まれません(Gatewayフィールドの情報は、リモートユーザにとっては意味がありません)。
+x      ユーザに関する詳細情報を抽出します(pwパラメータからPGnパラメータまで)。+uパラメータと組み合わせて使用した場合にのみ有効です。
+l      ADDコマンドを使わずに、ユーザID、名前1、名前2、名前3の一覧を返します。+uパラメータと組み合わせて使用した場合にのみ有効です。
+c      会議室の一覧を返します。
+g      ユーザグループ、コンテナ用テンプレート、およびカレンダーグループの一覧を返します。
+o      備品カレンダー、場所カレンダー、共有カレンダー、およびゲートウェイの一覧を返します。
+m      メールリストの一覧を返します。
+z      すべてのディレクトリエントリの一覧を返します。
すべてのユーザの一覧とその詳細情報を取り出すには、以下のように入力します。
Reply
LIST +ux
[Employee]グループに所属するユーザの一覧を取り出すには、以下のように入力します。
Reply
LIST "" 1 employee +ux
[Regular Users]グループに所属する、名前3がSuで始まるユーザの一覧を取り出すには、以下のように入力します。
Reply
LIST "Su" 1 "regular users" +ux
会議室の一覧を取り出すには、以下のように入力します。
Reply
LIST +c



NEW
会議室、フォルダ、コンタクトデータベース、グループ、ゲートウェイ、モニタ、ルール、ステーショナリ、チャットルーム、メッセージ、ドキュメントなどの新しいオブジェクトを作成します。EXPORTコマンドを利用すると、新しいオブジェクトを作成するのに必要なスクリプトが自動的に生成されます。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
構文
・フォームなどのリーフアイテムを作成する場合
NEW path name subj objtype icon h v formID +p
・会議室、ドキュメント、保護されていないフォルダ、またはアップロードファイルを作成する場合
NEW path name subj objtype icon h v +p
・カレンダーやタイプが指定されたオブジェクトを作成する場合
NEW path name subj objtype icon h v type +p
パラメータ
path新しいオブジェクトの場所で、管理者デスクトップからの相対位置で指定します。
DESKTOP userID pathユーザのデスクトップ上にオブジェクトを作成します。パスは、ユーザのデスクトップからの相対位置で指定します。
name    新しいオブジェクトの名前です。
subj    [件名]フィールドの内容です。
objtype         作成するオブジェクトの種類です。
CHAT    公開チャットを作成します。
CONFERENCE      会議室、カレンダー、共有カレンダー、備品カレンダー、または場所カレンダーを作成します。それぞれの名前は固有である必要があります。
FOLDER  フォルダを作成します。フォルダは名前が固有でなくてもかまいません。
FCF     アップロードファイルを作成します。
FORMDOC フォームを作成します。
PERMS   ステーショナリを作成します。
TEMPS   インターネットモニタまたはサーバモニタを作成します。
SYSINFO セッションモニタを作成します。
MESSAGE メッセージを作成します。
DOCUMENT        ドキュメントを作成します。
icon         アイコンのIDです。
subtype 特別なコンテナを作成します。
ブックマーク       16
コンタクトデータベース       7
個人用カレンダー       21
共有カレンダー  28
備品カレンダー       22
場所カレンダー      23
共有ドキュメント        33
マイドキュメント    32
モデム   26
Webサイト        15
オフライン会議室     2
音声グリーティング 20
アプリケーション用コンテナ  35
メンバーリスト   36
ブログコンテナ  50
ポッドキャストコンテナ       51
ワークスペース       41
ファイルストレージ    40
h       新しいオブジェクトの水平ピクセル位置で、管理者デスクトップの左上角からの相対位置で指定します。オブジェクトを自動的に配置する場合には、-1にしてください。
v      新しいオブジェクトの垂直ピクセル位置で、管理者デスクトップの左上角からの相対位置で指定します。オブジェクトを自動的に配置する場合には、-1にしてください。
formID  フォームIDです。フォームIDは、FirstClassデザイナーとともにインストールされたExample.fcで調べることができます。
+a      省略可能です。未承認アイテムを作成します。
+d      省略可能です。読み取り専用アイテムを作成します。
+h      省略可能です。会議室やカレンダーをディレクトリに公開しないようにします。
+l      省略可能です。上部ペインにオブジェクトが配置されます。
-l      省略可能です。下部ペインにオブジェクトが配置されます。
+p      省略可能です。オブジェクトを保護します。
+t      省略可能です。ツールバーにオブジェクトが配置されます。
+x      新しいオブジェクトを[Rules & Resources]フォルダ内に作成します。
コマンド例の一覧
重複する会議室名を作成
[サーバ管理]フォームを作成
サーバモニタ、インターネットモニタ、またはディレクトリサービスを作成
CHATの例
チャットルームを作成するには、オブジェクトの種類をCHATにします。アイコン番号は150でフォームIDは129です。オブジェクトは自動的に配置されます。例えば、チャットルームファイルを会議室の中に作成するには、以下のように入力します。
NEW "General Conferences:Employee Lounge" "Water Cooler" "" CHAT 150 -1 -1 129
CONFERENCEの例
会議室やカレンダーを作成する場合に使用します。
[General Conference]フォルダ内に[Employee Lounge]会議室を新しく作成して保護設定し、標準の会議室用アイコン(アイコンID 8)を設定するには、以下のように入力します。
NEW "General Conferences" "Employee Lounge" "" CONFERENCE 8 41 15 +p
会議室には[件名]フィールドは必要ありません。したがって、このフィールドは空の引用符の組("")を入力して空白にします。会議室は、ウィンドウの左端から41ピクセル、上端から15ピクセルの位置に配置されます。
ウィンドウが分割されたコンテナの場合、デフォルトでは、コンテナは上部ペインか左側ペインに作成されます。下部ペインか右側ペインに会議室を作成するには、以下のように入力します。
NEW "General Conferences" "Employee Lounge" "" CONFERENCE 8 41 15 +pl
会議室をSusan Bramのデスクトップに作成する必要がある場合は、パスを空の引用符の組("")で表します。Presentationという名の会議室をSusan Bram(ユーザID sbram)のデスクトップに作成するには、以下のように入力します。
NEW desktop sbram "" "Presentations" "" conference 8 41 65 +p
新しい会議室を作成して保護設定し、ディレクトリに公開されないようにするには、以下のように入力します。
NEW "General Conferences" "Employee Lounge" "" CONFERENCE 8 41 15 +ph
PUT PERMISSIONS "General Conferences:Employee Lounge" 2007 6 1
この2つのコマンドを利用すると、重複した名前を持つ会議室を作成できます。ただし、それらの会議室を同じ場所に作成することはできません。
既存の会議室を非公開にするには、以下のように入力します。
PUT PERMISSIONS "General Conferences:Employee Lounge" 2007 6 1
ディレクトリで公開されているにもかかわらず他の会議室と名前が重複するような会議室は、NEWコマンドで作成できます。ただし、以下の条件をすべて満たす必要があります。
・システムプロファイルで、[同一ユーザ名の使用を禁止]にチェックが入っていないこと
・SETOUコマンドで、会議室をすでに組織単位として定義されているグループに所属させ、そのグループで[OU内部で同じグループ名の使用を禁止する]にチェックが入っていること。
・新しい会議室が作成されるコンテナ内に同じ名前の会議室がないこと。例えば、General Conferencesの中に[Employee Lounge]会議室がすでにある場合、[Employee Lounge]という名の会議室をここにもう1つ作成することはできません。新しい[Employee Lounge]会議室を[General Conferences]フォルダ内の[Sweden's Conferences]フォルダに作成し、この会議室を[Sweden Staff]ユーザグループに所属させるには、以下のように入力します。
SETOU "Sweden Staff"
NEW "General Conferences:Sweden's Conferences" "Employee Lounge" "" Conference 8 -1 -1 +p
オブジェクトタイプのCONFERENCEは、カレンダーを作成する場合にも使用します。ただし、subtypeパラメータが必要です。[General Conference]フォルダ内にStaff Eventという名の共有カレンダー(subtypeパラメータは28)を作成して保護設定し、空白の件名と標準のアイコン(アイコンID 24011)を設定するには、以下のように入力します。
NEW "General Conferences" "Staff Events" "" CONFERENCE 24011 41 15 28 +p
場所カレンダーのsubtypeは21で、標準のアイコンIDは24011です。
備品カレンダーのsubtypeは22で、標準のアイコンIDは24013です。
場所カレンダーのsubtypeは23で、標準のアイコンIDは24014です。
ディレクトリに公開されないシステムイベントカレンダーを作成するには、以下のコマンドを入力します。
New "FirstClass Services" "System Events Calendar" "" Conference 24011 408 58 28 +P
ACTIVATE SYSCALENDAR
//システムイベントカレンダーをディレクトリに登録しない
PUT DIRECTORY calendar "System Events Calendar" 1227 6 1
コンタクトデータベースもCONFERENCEオブジェクトタイプを使用し、subtypeを7にする必要があります。[Employee Lounge]会議室内にコンタクトデータベースを作成するには、以下のように入力します。
New "General Conferences:Employee Lounge" "Customer List" "" Conference 23014 35 16 7 +p
FOLDERの例
例えば、[Employee Lounge]会議室内で[Old Messages]という名のフォルダを新しく作成し、保護設定はせず標準のアイコン(アイコンID 26093)を設定するには、以下のように入力します。
NEW "General Conferences:Employee Lounge" "Old Messages" "" Folder 26093 41 15
ウィンドウが分割されたコンテナの場合、デフォルトでは、コンテナは上部ペインか左側ペインに作成されます。フォルダを下部ペインか右側ペインに作成するには、以下のように入力します。
NEW "General Conferences:Employee Lounge" "Old Messages" "" Folder 26093 41 15 +l
共有可能なコンタクトデータベースを新しく作成するには、以下のコマンドを入力します。
NEW desktop sbram "Contacts" "Friends and Family" "" conference 23014 41 15 7
ユーザのデスクトップにコンタクトフォルダを作成するには、subtypeパラメータを指定する必要があります。コンタクトフォルダでは7を使用してください。
NEW desktop sbram "" "Contacts" "" folder 23014 41 15 7
上記のコマンドによってフォルダが作成されます。権限フォームを設定してフォルダをユーザどうしで共有することはできません。
ユーザのデスクトップに[My Shared Document]フォルダを作成するには、subtypeを指定する必要があります。共有ドキュメントでは33を使用してください。
NEW desktop sbram "" "My Shared Documents" "" folder 13304 81 303 33
ユーザのデスクトップにマイドキュメントフォルダを作成するには、subtypeを指定する必要があります。マイドキュメントでは32を使用してください。
NEW desktop sbram "" "My Documents" "" folder 13304 81 303 32
ユーザのデスクトップにWebフォルダを作成するには、subtypeを指定する必要があります。Webフォルダでは15を使用してください。
NEW desktop sbram "" "My Web Site" "" folder 23018 55 245 15
FCFの例
NEWコマンドとUPLOADコマンドの両方を使用する必要があります。また、アップロードするファイルを、バッチ管理コマンドを含むメッセージに添付する必要があります。フォームIDパラメータは必要ありません。例えば、[Employee Lounge]会議室内にstaff setting.fcファイルをアップロードするには、以下のように入力します。
NEW "General Conferences:employee lounge" "staff settings.fc" "" FCF 17044 -1 -1
UPLOAD "General Conferences:employee lounge:staff settings.fc" "staff settings.fc"

リソースファイルをユーザグループの[Rules & Resources]フォルダにアップロードするには、以下のように入力します。
NEW MODEL "Employees" "" "staff settings.fc" "" FCF 17044 -1 -1 +X
UPLOAD PREVIOUS "staff settings.fc"
COMPILE MODEL "Employees"
FORMDOCの例
[Executive Users]という新規ユーザグループ(フォームID 124)を作成するには、以下のように入力します。
NEW "Groups" "Executive Users" "" formdoc 23003 -1 -1 124 +p
[Employee Lounge]会議室内に、読み取り専用の検索フォームを作成するには、以下のように入力します。
NEW "General Conferences:Employee Lounge:Useful Searches" "Find Unread Messages" "" FORMDOC 2001 -1 -1 8000 +d
既存のコンタクトフォルダに「Paul」という名のコンタクトを作成するには、以下のように入力します。
NEW desktop sbram "Contacts" "Paul" "" formdoc 23004 -1 -1 105
+xオプションを付けると、コンテナの[Rules & Resources]フォルダ内に新しいルールが作成されます。Susan Bram(ユーザID sbram)のメールボックスに新しい受信ルール(フォームID 21)を作成し、標準のアイコン(アイコンID 7027)を設定するには、以下のように入力します。
NEW desktop sbram mailbox "Receive Rule" "" FORMDOC 7027 -1 -1 21 +x
[サーバツール]フォームを作成するには、以下のように入力します。
NEW "core services" "Server Tools" "" formdoc 2005 250 260 18 +p
アーカイブサービスクラスタ用のサービスアカウントを、リモートサーバのシリアル番号を800000010として作成するには、以下のコマンドを入力します。
New "Gateways & Services" "Archive Services 1" "Cluster 1" FormDoc 23001 60 210 126 +p
put previous 1102 0 "800000010"
New desktop "800000010" "" "Archive Services" "" Folder 24073 0 0 57
New desktop "800000010" "Archive Services" "Archive Services Setup" "" Document 2005 0 0 36
06092010_122716_1.png注意
・アーカイブサービスのサービスアカウントでは、800000000から800000099のサーバシリアル番号を使う必要があります。クライアントを使用して、パスワード、接続情報、およびスケジュールを入力してください。
・送信ルールを作成するには、フォームID 22を使用してください。また、詳細ルールを作成するには、フォームID 23を使用してください。
・[Employee Lounge]会議室に新しい受信ルールを作成するには、以下のように入力します。
NEW "General Conferences:employee lounge" "Receive Rule" "" FORMDOC 7027 -1 -1 21 +x
COMPILE "General Conferences:employee lounge"
・FirstClassスクリプトを使用してルールを削除することはできません。
・ルールの作成に関する詳細は、EXPORTコマンドを参照してください。
[Employee Conferences]コンテナ用テンプレートにアプリケーションルールを作成するには、以下のように入力します。
NEW MODEL "Employee Conferences" "" "Receive Rule" "" FORMDOC 7027 -1 -1 27 +x
COMPILE MODEL "Employee Conferences" ""
新しい[サーバ管理]フォーム(ID 58)を作成するには、以下のように入力します。
NEW "core services" "Server Control" "" FORMDOC 23007 -1 -1 58 +p
PERMSの例
ステーショナリフォームを作成します。このフォームは、[管理]>[新しいステーショナリ]を選んで利用できるようにする必要があります。例えば、独自のステーショナリを追加し、フォームIDを1001にするには、以下のように入力します。
NEW "General Conferences:Employee Lounge" "Suggestions" "" PERMS 17044 -1 -1 1001 +p
利用可能な任意のメッセージやドキュメントからステーショナリを作成するには、以下のように入力します。
NEW "General Conferences:Employee Lounge" "Suggestions" "Submit your suggestions" MESSAGE 17044 -1 -1 1001 +pm
上記のコマンドに件名を含めてください。含めなければ、ステーショナリの名前が表示されなくなります。上記コマンドで作成したステーショナリには、未送信を示すフラグが付きます。
TEMPSの例
モニタ関連のフォームを作成します。これらのオブジェクトを動作させるには、保護設定をする必要があります。モニタを作成するには、以下のように入力します。
NEW "Core Services" "Server Monitor" "" Temps 23007 -1 -1 7900 +p
また、このモニタにサービスアカウント番号を関連付ける必要があります。バージョン8.0から搭載された新しいクラスタとサイト関連のスクリプト、および上記のスクリプトに、そのための手順が含まれています。
NEW "Internet Services" "Internet Monitor" "" Temps 23007 244 19 8900 +p
PUT PREVIOUS 1302 0 1000000000
NEW "Voice Services" "Voice Services Monitor" "" Temps 23007 244 19 7901 +p
PUT PREVIOUS 1302 0 9000000000
SYSINFOの例
アイコンIDは、23007です。これらのオブジェクトを動作させるには、保護設定をする必要があります。セッションモニタやタスクモニタを作成するには、以下のコマンドのうちいずれかを入力します。
NEW "Core Services" "Session Monitor" "" SYSINFO 23007 120 21 0 +p
NEW "Core Services" "Tasks Monitor (All)" "" SYSINFO 23007 120 21 1 +p
NEW "Core Services" "Tasks Monitor (System)" "" SYSINFO 23007 120 21 2 +p
NEW "Core Services" "Tasks Monitor (Active)" "" SYSINFO 23007 120 21 3 +p
MESSAGEの例
Susan(ユーザID sbram)のメールボックス内にメッセージを作成するには、以下のように入力します。
NEW DESKTOP sbram "mailbox" "Susan A. Bram" "Away today" Message 23032 273 21 0
DOCUMENTの例
Susan(ユーザID sbram)の個人用Webサイトのドキュメントを作成するには、以下のように入力します。
NEW DESKTOP sbram "My Web Site" "Home Page" "" Document 23019 30 15 900
ウィンドウが分割されたコンテナの場合、ドキュメントは下部ペインか右側ペインに作成されます。上部ペインか左側ペインに作成するには、以下のように入力します。
NEW DESKTOP sbram "My Web Site" "Home Page" "" Document 23019 30 15 900 -l
ウィンドウが分割されたコンテナの場合、ドキュメントは下部ペインか右側ペインに作成されます。ツールバーに作成するには、以下のように入力します。
NEW DESKTOP sbram "My Web Site" "Home Page" "" Document 23019 30 15 900 +t
関連するコマンド
NEWコマンドで作成したオブジェクトにフィールドデータを入力する場合は、PUTコマンドとEXPORTコマンドを参照してください。



MOVE
コンテナまたはアイテムを他の場所に移動します。
構文
MOVE CONTENTS source_objdesc target_objdesc -p
MOVE ITEM source_objdesc target_objdesc -p
パラメータ
source_objdesc  移動するオブジェクトです。
target_objdesc  新しく移動する場所です。
-p      省略可能です。保護設定されているオブジェクトも移動します。
このコマンドを送信すると、移動元([Employee Lounge]会議室)に移動対象のオブジェクト([Archived Messages]フォルダ)は存在しなくなります。[Archived Messages]フォルダの保護設定を解除して[Employee Lounge]会議室から[Staff Area]会議室に移動するには、以下のように入力します。
MOVE ITEM "General Conferences:Employee Lounge:Archived Messages" "General Conferences:Staff Area" -p
[Employee Lounge]会議室内に[Archived Messages]フォルダを残したまま、フォルダ内の全メッセージを[Archived Messages 2005]という名のサブフォルダに移動するには、以下のように入力します。
MOVE CONTENTS "General Conferences:Employee Lounge:Archived Messages" "General Conferences:Employee Lounge:Archived Messages:Archived Messages 2005" -p
コンテナ内のすべてのコンテンツを空にし、一時フォルダを作成してそのコンテンツを移動し、その一時フォルダを削除するには、以下のように入力します。
NEW "" "Temp" "" FOLDER 8 -1 -1
MOVE CONTENTS "General Conferences:Employee Lounge:Archived Messages" "Temp" -p
REMOVE "Temp"



PATHCHAR
パス名でオブジェクトを指定する際に、デフォルトのパス区切り文字を変更します。デフォルトではこの文字はコロン(:)ですが、このコマンドを使用すると、コロンを他の文字(例えば、/)に変更して、コロンが含まれる対象を指定できるようになります。このコマンドでの設定は、同じスクリプト内だけで有効です。
また、[件名]フィールドをパスの一部として使用する場合にもこのコマンドを利用できます。あらゆるオブジェクトで名前と件名のパスを使用できますが、パス区切り文字を指定する必要があります。
構文
PATHCHAR char
カレンダーには、同じ名前の予定や名前が付けられていない予定が数多く登録されていることがよくあります。したがって、予定に対して操作を行うには、件名に対して区切り文字を定義することが必要です。
名前の区切り文字をコロンに、件名(説明)の区切り文字をスラッシュに設定するには、以下のように入力します。
PATHCHAR ":" "/"
名前がなく、件名がCompany Meetingであるアイテムを削除するには、以下のように入力します。
PATHCHAR ":" "/"
REMOVE "calendar:/company meeting"

管理者(Administrator)の作成した予定のうち、件名がCompany Meetingの予定を削除するには、以下のように入力します。
PATHCHAR ":" "/"
REMOVE "general conferences:employee lounge:employee calendar:administrator/company meeting"
関連するコマンド
DIRコマンドを参照して、名前も件名も同じアイテムを区別できるBYINDEXキーワードの使用方法もご確認ください。



PGADD
ユーザ、会議室、メールリスト、または共有カレンダーを1つまたは複数のグループに所属させます。
構文
・ユーザをユーザIDで指定する場合
        PGADD userID G1 ...Gn
・ユーザをクライアントIDで指定する場合
        PGADD clientID G1 ...Gn +c
・会議室、カレンダー、メールリストを名前で指定する場合
        PGADD name G1 ...Gn
・会議室、カレンダー、メールリストをクライアントIDで指定する場合
        PGADD clientID G1 ...Gn +c
パラメータ
userID  ユーザグループに追加するユーザのユーザIDです。
name会議室、メールリスト、またはカレンダーのディレクトリ名です。
G1 ...Gn       ユーザグループ、コンテナ用テンプレート、またはカレンダーグループの名前です。
+c      クライアントIDを使用する場合に必要です。
Sue Bram(ユーザID sbram)を[Employee]グループと[East Coast]グループに追加するには、以下のように入力します。
PGADD sbram Employee "East Coast"
Sue BramのクライアントIDは1702であるとします。このユーザを[Employee]グループと[East Coast]グループに追加するには、以下のように入力します。
PGADD 1702 Employee "East Coast" +c
ユーザIDは変更されることがありますが、クライアントIDは変更されたり再利用されたりすることはありません。FirstClassスクリプトからシステム管理作業を行うことが多い場合には、クライアントIDを使用するのが普通です。
[Employee Lounge]会議室のクライアントIDは1567であるとします。この会議室を[Employee Conferences]グループに追加するには、以下のように入力します。
PGADD 1572 "Employee Conferences" +c
[Employee Lounge]会議室を[Employee Confereces]コンテナ用テンプレートに追加する場合には、以下のように入力します。
PGADD "Employee Lounge" "Employee Conferences"
関連するコマンド
ユーザ登録時にユーザをグループに所属させるには、ADD NETWORK/ADD TELECOMを参照してください。
ユーザ、会議室、メールリスト、共有カレンダーをグループから削除するには、PGDELを参照してください。
ディレクトリに公開されていないコンテナをグループに追加するには、PUT PERMISSIONSを参照してください。



PGDEL
ユーザ、会議室、メールリスト、または共有カレンダーを1つまたは複数のグループから削除します。
構文
・ユーザの場合
        PGDEL userID G1 ...Gn
・会議室、カレンダー、メールリストの場合
        PGDEL name G1 ...Gn
パラメータ
userID  ユーザグループから削除するユーザのユーザIDです。
name会議室、メールリスト、またはカレンダーのディレクトリ名です。
G1 ...Gn       ユーザグループ、コンテナ用テンプレート、メールリスト、またはカレンダーの名前です。
ユーザIDsbramを[East Coast]ユーザグループから削除するには、以下のように入力します。
PGDEL sbram "East Coast"
[Employee Lounge]会議室を[Employee Conference]コンテナ用テンプレートから削除するには、以下のように入力します。
PGDEL "Employee Lounge" "Employee Conferences"
関連するコマンド
ユーザ、会議室、カレンダー、メールリストをグループに追加するには、PGADDを参照してください。未公開の会議室をユーザグループから削除するには、DELFLDを参照してください。



PUT
FirstClassのフォームをフィールドレベルで更新します。PUTコマンドでは、フィールドID、フィールドの種類、およびフィールドの値の情報が必要となります。GETコマンドを利用して、フィールドの種類とフィールドの値を生成できます。フィールドIDは、Example.fcをFirstClassデザイナーで開いて調べることができます。
パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。objdescがない場合は、PATHが使用されます。
NEWコマンドを利用して新しいオブジェクトを作成する場合は、PREVIOUSキーワードを使用してフィールドデータを入力できます。
構文
PUT objdesc fieldlist +a
・ディレクトリ名が入力されているフィールドにデータを挿入する場合には、以下のように入力します。
        PUT objdesc addressID index address
パラメータ
objdesc         利用できるキーワードです。
ABOUT name会議室またはカレンダーのプロフィールです。コンテナ名がディレクトリに表示されます。
ABOUTPATH name  会議室またはカレンダーのプロフィールです。コンテナ名はディレクトリに表示されません。
USER userID     [ユーザ情報]フォームをユーザIDで指定します。
CLIENT clientID クライアントIDで指定されたユーザの[ユーザ情報]フォーム、またはリモート名やルートの[ディレクトリ情報]フォームです。
USERCONFIG userid       ユーザ情報フォームから利用できる[メールのインポート]フォームです。
path    管理者のデスクトップからの相対パスで指定したリーフオブジェクトまたはコンテナです。
path byindex indexnumber        管理者デスクトップからの相対パスとインデックス番号で指定したリーフオブジェクトまたはコンテナです。このインデックス番号を取り出すには、DIRコマンドを使用します。
DESKTOP byindex indexnumber userid path         ユーザのデスクトップからの相対パスとインデックス番号で指定したリーフオブジェクトまたはコンテナです。
DIRECTORY directorytype         会議室(ODInfo)、フォルダ(ODInfo)、ゲートウェイ(ODGateway)、ユーザグループ(ODInfo)の[ディレクトリ情報]フォームです。directorytypeキーワードは、conference、calendar、maillist、またはgroupです。
ITEM path       コンテナのアイテム一覧のフィールド情報です。
MODEL name      ユーザグループのデスクトップ、またはコンテナ用テンプレートのモデル表示です。

PREVIOUS        NEWコマンドの後に記述するオプションです。パスをPREVIOUSキーワードに置き換えてください。

PROFILE USER userid appid.formid        ユーザIDで指定した、アプリケーションのプロフィールです。アプリケーションIDとアプリケーションのプロフィールはピリオドでつなげます。
PROFILE CLIENT userid appid.formid      クライアントIDで指定した、アプリケーションのプロフィールです。アプリケーションIDとアプリケーションのプロフィールはピリオドでつなげます。
PROPERTIES path         [プロパティ]フォームです。パスは、管理者のデスクトップからの相対パスで指定します。
PROPERTIES desktop userid path          [プロパティ]フォームです。パスは、ユーザのデスクトップからの相対位置で指定します。
PROPERTIES byindex indexnum path        [プロパティ]フォームです。パスは管理者デスクトップからの相対パスで、DIRコマンドで返されるインデックス番号で指定します。
PROPERTIES byindex indexnum desktop userid path [プロパティ]フォームです。パスはユーザのデスクトップからの相対パスで、DIRコマンドで返されるインデックス番号で指定します。
PROPERTIES MODEL name   [プロパティ]フォームです。グループのデスクトップからの相対パスで指定します。
PREFERENCES userid      ユーザの[基本設定]フォームと[印刷レイアウト]フォームです。
RESUME useridユーザのプロフィールです。
RULES path rulename     コンテナの[Rules & Resources]フォルダ内にあるオブジェクトです。パスは、管理者デスクトップからの相対パスで指定します。
RULES DESKTOP userid path rulename      コンテナの[Rules & Resources]フォルダ内にあるオブジェクトです。パスは、ユーザのデスクトップからの相対位置で指定します。
SEARCH userid   ユーザの[検索]フォームです。
SYSPROFILE      システムプロファイルです。
fieldlist       フォームにある3つのフィールドの組み合わせを示す値です。
fieldID fieldtype fieldvalueの形で記述します。
fieldID         フィールドIDです。
        fieldtypeフィールドの種類です。以下の値を入力できます。     
0=文字列。テキストと選択リスト(入力可)として定義されているフィールドです。
6=チェックボックス。チェックボックスおよびラジオグループとして定義されているフィールドです。
7=ポップアップ。選択リスト(入力不可)として定義されているフィールドです。
14=数値。数値および日付と時間として定義されているフィールドです。
122=画像ビューアフィールド。
fieldvalue      フィールドの値です。引用符で囲む必要がある場合があります。フィールドの値は、チェックボックス、ポップアップ、および数値に対しては数値で示す必要があります。ポップアップの値は、FirstClassデザイナーで調べることができます。
+a      メッセージやドキュメントの本文、および一部の文字列フィールドを追加する場合に使用します。
addressID       [宛先]フィールドは4、[CC]フィールドは5、[BCC]フィールドは14です。これらのフィールドについては上記のIDを使用し、FirstClassデザイナーで表示されるフィールドIDは無視してください。
index   リスト内でエントリを指定する位置です。0は一番上に表示されている名前、1は2番目に表示されている名前、というように続きます。
address ディレクトリエントリの名前です。登録済みのユーザ、電子メールアドレス、会議室、ゲートウェイ、サービスまたはリモート名を指定できます。固有の名前を指定しなかった場合には、最初に一致した名前が使用されます。
コマンド例の一覧
ユーザのクラスを変更(レギュラーユーザまたはリモートユーザ)
PUT ABOUTの例
[Employee Lounge]会議室のプロフィール([会議室のプロフィール]フォーム)に情報を登録するには、以下のように入力します。
PUT ABOUT "employee lounge" 1000 0 "About the Employee Lounge" 6 "This conference is used to share ideas and knowledge."
PUT ABOUT PATHの例
ディレクトリに公開されていない[Secret Employee Lounge]会議室のプロフィール([会議室のプロフィール]フォーム)に情報を登録するには、以下のように入力します。
PUT ABOUTPATH "General Conferences:secrect employee lounge" 1000 0 "About the Secret Employee Lounge" 6 "This conference is used to share ideas and knowledge."
[会議室のプロフィール]フォームでは、+aオプションを付けて本文を追加できます。
PUT USERの例
USERキーワードで[ユーザ情報]フォームを変更します。
Susan(ユーザID sbram)の[名]フィールド(ID 1201)をSueに変更し、[パスワード]フィールド(ID 1217)をcarrotに変更するには、以下のように入力します。
PUT USER sbram 1202 0 Sue 1217 0 carrot
このユーザ(ユーザID sbram)をリモートユーザからレギュラーユーザに変更するには、以下のように入力します。
PUT USER sbram 1223 7 1
このユーザ(ユーザID sbram)をレギュラーユーザからリモートユーザに変更するには、以下のように入力します。
PUT USER sbram 1223 7 5
このユーザ(ユーザID sbram)の[メールエイリアス]フィールド(ID 1252)を登録するには、以下のように入力します。
PUT USER sbram 1252 0 "sabram" 1255 0 9055551212 1256 0 1212
ユーザIDは管理者によって変更が可能ですが、クライアントIDは変更できず、同じ番号が重複して利用されることもありません。FirstClassスクリプトだけでシステムを管理しているか外部データベースを使用している場合には、クライアントIDを使用するとよいでしょう。
クライアントID 1602のメールエイリアス(フィールドID 1252)、音声DN(フィールドID 1255)、音声パスワード(フィールドID 1256)を追加する:
PUT CLIENT 1602 1252 0 "sabram" 1255 0 9055551212 1256 0 1212
クライアントIDを使用して、DIREDTORYキーワードが対応している[ディレクトリ情報]フォームの情報を更新することもできます。また、CLIENTキーワードを使用すると、[ディレクトリ情報]フォームのリモート名やルートの情報を更新できます。
クライアントIDが1956であるリモート名のメールエイリアスを変更するには、以下のように入力します。
PUT CLIENT 1956 1252 0 "royallen"
06092010_122716_1.png注意
[管理]>[ディレクトリの一覧]を選択して、正しいクライアントIDを調べてください。
PUT DIRECTORYの例
[Employee Lounge]会議室の[メールエイリアス]フィールドを登録するには、以下のように入力します。
PUT DIRECTORY CONFERENCE "Employee Lounge" 1252 0 "lounge" 1255 0 9055551212
06092010_122716_1.png注意
ディレクトリに登録されているコンテナの所属グループを変更するには、PGADDコマンドとPGDELコマンドを使用してください。また、ディレクトリに登録されていないコンテナをグループに追加するには、PUT PERMSSIONS コマンドを使用してください。
その他のフィールドは、FirstClassデザイナーでExample.fcファイルを開いて調べてください。[ユーザ情報]フォームのIDは125です。[ディレクトリ情報]フォームのIDは115です。
PUT USERCONFIGの例
USERCONFIGオブジェクトタイプを利用して、[メールのインポート]フォームを更新します。
[アイコンID]フィールド(ID 2005)、[メールサーバ]フィールド(ID 2000)、[ユーザ名]フィールド(ID 2001)、[パスワード]フィールド(ID 2002)、および[メールアドレス]フィールド(ID 2003)をSusanの[メールのインポート]フォームに登録するには、以下のように入力します。
PUT USERCONFIG sbram 2005 14 8 2000 0 huskyplanes.com 2001 0 suebram57 2002 0 f1504x2 2003 0 suebram57@huskyplanes.com

その他のフィールドIDについては、FirstClassデザイナーでExample.fcファイルを開いて[メールのインポート]フォーム(ID 68)を参照してください。
Pathの例
このコマンドは、例えばユーザグループ、ゲートウェイ設定、コンタクト、およびメールリストのフォーム内のフィールドを変更するのに使用できます。[表示のプロパティ]フォームのフィールドを変更する場合は、SNAPSHOTコマンドを参照してください。
[インターネットの基本設定]フォームの[プライマリドメイン名]フィールド(ID 1001)を設定するには、以下のように入力します。
PUT "internet services:basic internet setup" 1001 0 huskyplanes.com
ディレクトリモニタやインターネットモニタをサービスアカウントに対応付けるには、以下のように入力します。
PUT "Directory Services:Directory Monitor" 1302 0 "1000000000"
PUT "Internet Services:Internet Monitor" 1302 0 "4000000000"
PUT "Voice Services:Voice Monitor" 1302 0 "9000000000"
[All Users]グループで[インスタントメッセージ]権限を無効にするには、以下のように入力します。
PUT "Groups:All Users" 1206 6 0
独自に作成したフォーム上のテキストフィールドに情報を登録するには、以下のように入力します。
PUT "General Conferences:Employee Lounge:Contact Info" 1001 0 "555-1212"
メールリストに名前を追加する際に使用するフィールドは[宛先]フィールドです。したがって、宛先関連のフィールドの構文を使用してください。既存のメールリストの先頭と先頭から2番目に名前を登録するには、以下のように入力します。
PUT "Mail Lists:Sales" 4 0 "David Smith"
PUT "Mail Lists:Sales" 4 1 "sbram@springfield.com"
NEWコマンドをメールリストの作成に使用する場合、PUTコマンドはPEVIOUSキーワードをパスの代わりに使用できます。
New "Mail Lists" "Sales" "" FormDoc 23005 0 0 118
PUT PREVIOUS 4 0 "David Smith"
既存のドキュメントにテキストを入力するには、フィールドID 6を使用します。このフィールドでは、フィールドの種類を指定する必要はありません。一度に入力できる文字は半角で250文字です。以下のような書式のテキストをドキュメントに入力するとします。
FirstClassは、クライアント用アプリケーションとサーバ用アプリケーションの2つで構成されています。
特定のサーバに接続するには、
・ご利用のコンピュータとFirstClassサーバが稼働している接続先コンピュータとが、ネットワーク接続またはモデム接続されている必要があります。
・ご利用のコンピュータにFirstClassがインストールされている必要があります。
この場合は、以下のようにコマンドを入力します。+aオプションを付けると本文を追加します。また、\r部分には改行文字コードが入力されます。
PUT "test:body" 6 "FirstClassは、クライアント用アプリケーションとサーバ用アプリケーションの2つで構成されています。\r \r"
PUT "test:body" 6 "特定のサーバに接続するには、\r" +a
PUT "test:body" 6 "・ご利用のコンピュータとFirstClassサーバが稼働している接続先コンピュータとが、" +a
PUT "test:body" 6 "ネットワーク接続またはモデム接続されている必要があります。\r" +a
PUT "test:body" 6 "・ご利用のコンピュータにFirstClassがインストールされている必要があります。"+a
BYINDEXの例
Employee Calendarという名のカレンダーで、Susan Bramがたくさんの予定を登録しているとします。大半のコマンドはオブジェクトの名前を指定して動作させることができますが、このカレンダーでは、多くのイベントがSusan Bramという同じ名前になっています。また、PATHCHARコマンドを使えば件名を指定できますが、このカレンダーには同じ件名のイベントが複数登録されています。このような場合には、BYINDEXキーワードが使用できます。
以下のコマンドを送信すると、予定のインデックス番号を取り出せます。
reply
DIR "general conferences:employee lounge:employee calendar" +pld
サーバから、以下のようなメッセージが返されます。
Contents of:"general conferences:employee lounge:employee calendar"
        [L:2] "Susan Bram" "避難訓練"       2004/05/17  09:06:48
        [L:3] "Susan Bram" "昼食兼勉強会"      2004/04/17  09:08:28
        [L:4] "Susan Bram" "資金調達に関する会議"       2004/05/17  09:09:24
        [L:5] "Susan Bram" "昼食兼勉強会"      2004/05/17  09:45:43

4月の「昼食兼勉強会」の予定に対して操作を行うには、以下のコマンドを入力します。
PUT byindex 3 "general conferences:employee lounge:employee calendar" 1009 0 "Susanのオフィス"
同じ予定フォームの[プロパティ]フォームを変更するには、以下のコマンドを入力します。
PUT PROPERTIES byindex 3 "general conferences:employee lounge:employee calendar" 1016 6 1

Susan Bramのデスクトップにあるカレンダーに対して操作を行う場合、コマンドは以下のようになります。
PUT PROPERTIES byindex 3 desktop sbram "calendar" 1016 6 1
詳細はDIRコマンドを参照してください。
PUT DESKTOP useridの例
DESKTOPキーワードを利用して、ユーザのデスクトップにあるコンタクト、個人用メールリスト、ドキュメント、メッセージ、ステーショナリなどのフォームのフィールドを更新します。
Sue Bram(ユーザID sbram)のデスクトップ上に[Presentations]会議室があり、この会議室にある[電話メモ]フォームの内容を更新するとします。この電話メモの[所属]フィールド(ID 1012)を更新するには、以下のように入力します。
PUT DESKTOP sbram "Presentations:To Paul" 1012 0 "Springfield"
ステーショナリフォームの[宛先]フィールドに入力する場合は、宛先関連のフィールドの構文を使用します。paulchu@springfiled.eduというアドレスを宛先の先頭に登録するには、以下のように入力します。
PUT DESKTOP sbram "Presentations:To Paul" 4 0 "paulchu@springfield.edu"
Sue Bram(ユーザID sbram)のデスクトップで、desktop.pngという名前の画像(フィールドID 13083)を使用し、[背景に画像を使用する]を有効にし、[画像を並べて表示する]を無効にする(どちらもフィールドID 13083で制御)には、以下のように入力します。
PUT DESKTOP sbram "" 13082 7 112 13083 0 "desktop.png"
PUT ITEMの例
ほとんどの場合、コンテナの列に表示されるテキストは、オブジェクトのプロパティまたはフォームのフィールドデータから生成されたものです。例えば、コンタクトを開くと、住所などのコンタクト情報から生成されたさまざまな情報が表示されます。メールボックスを開くと、最終更新日など、プロパティフォームから生成された情報が表示されます。すべてのコンテナは、両方のソースから生成された情報を表示します。
通常、PUT ITEMコマンドはエクスポートスクリプトに含めます。このコマンドを使用すると、パンチスルーカレンダーの色を設定できます。
最初の手順は、色を表す数値を調べることです。クライアントを使用して、サンプルのパンチスルーカレンダーで好みの色が表示されるように設定してみてください。
EXPORTコマンドを使用して色の値を取得するには、以下のように入力します。
REPLY
GET ITEM "calendar:stat holidays" 1003
サーバから以下のメッセージが返されます。
1003 14 157001216
次に、Stat Holidaysという名のカレンダーへのリンクをユーザのカレンダーに作成し、Stat Holidaysカレンダーの色を設定します。
LINK SPECIAL desktop sbram "calendar" "general conferences:stat holidays"
PUT ITEM desktop sbram "calendar:stat holidays" 1003 14 157001216
PUT MODELの例
MODELキーワードを利用すると、ユーザグループのモデルデスクトップと[Rules & Resources]フォルダ、およびコンテナ用テンプレートのモデル表示と[Rules & Resources]フォルダを操作できます。
06092010_122716_1.png注意
スクリプトを実行しても、デスクトップのモデリングは行われません。上記の例は、所属ユーザがいないグループに対してだけ有効です。

新しいユーザグループのモデルデスクトップに新しいオブジェクトを作成するには、以下のようなコマンドを入力します。
New model "New Employees" "" "My Projects" FOLDER 21003 50 175 +p
[My Projects]という名のフォルダを保護し(フィールドID 1016)、位置を指定し(フィールドID 1306および1307)、[モデル動作]を「コピー」に設定する(フィールドID 8057)には、以下のコマンドを入力します。
PUT PROPERTIES MODEL "New Employees" "My Projects" 1016 6 1 1306 14 50 1307 14 175 8057 7 2
PUT PROFILEの例
PROFILEキーワードを利用すると、ユーザのアプリケーションのプロフィールを変更できます。フォームID 4001を使用してローカルアプリケーションを作成したとします。また、アプリケーション作成の際、このアプリケーションのプロフィールを表示するために独自のフォームも作成したとします。アプリケーションの[プロフィール]フォームのIDは1001にしました。
Susan Bramの有給休暇の日数(ID 2001)をアプリケーションのプロフィールに入力するには、以下のように入力します。
PUT PROFILE USER sbram 4001.1001 2001 7 20
同じ作業を、SusanのクライアントID 1706を指定して行うには、以下のように入力します。
PUT PROFILE CLIENT 1706 4001.1001 2001 7 20
PUT PROPERTIESの例
PROPERTIESキーワードを利用すると、[プロパティ]フォームを変更できます。パスは、管理者のデスクトップからの相対パスで指定します。
既存の会議室を保護するには、以下のように入力します。
PUT PROPERTIES "General Conferences:Employee Lounge" 1016 6 1
既存の会議室の保護を解除するには、以下のように入力します。
PUT PROPERTIES "General Conferences:Employee Lounge" 1016 6 0
会議室を未承認状態にするには、以下のように入力します。
PUT PROPERTIES "General Conferences:Customer Support" 1320 6 1
例えば、[Employee Lounge]会議室のアイコン位置の[横]フィールド(ID 1306)と[縦]フィールド(ID 1307)を変更するには、以下のように入力します。
PUT PROPERTIES "General Conferences:Employee Lounge" 1306 14 205 1307 14 5
[アプリケーションID]フィールド(ID 8066)と[アイテムの種類]フィールド(ID 8067)を設定するには、以下のように入力します。
PUT PROPERTIES "General Conferences:Customer Support" 8066 7 4000 8067 7 1200
コンテナの[サブタイプ]フィールド(ID 1309)を[アプリケーションコンテナ]に設定するには、以下のように入力します。
PUT PROPERTIES "General Conferences:Customer Support" 1309 7 35
コンテナの[サブタイプ]フィールド(ID 1309)を[Members List]に設定するには、以下のように入力します。
PUT PROPERTIES "General Conferences:Customer Support" 1309 7 36
会議室の読み取り専用属性を無効にするには、以下のように入力します。
PUT PROPERTIES "General Conferences:Customer Support" 1321 6 0
PUT PROPERTIES DESKTOP useridの例
PROPERTIES DESKTOP useridオブジェクトタイプを使用して、[プロパティ]フォームを変更できます。パスは、ユーザのデスクトップからの相対位置で指定します。
Sue Bram(ユーザID sbram)のデスクトップにある[Presentations]会議室の保護および読み取り専用属性を解除するには、以下のように入力します。
PUT PROPERTIES DESKTOP sbram "presentations" 1016 6 0 1321 6 0
PUT PREFERENCESの例
PREFERENCESキーワードを利用して、[ユーザの基本設定]フォームを変更できます。フィールドIDが10000より小さいフィールドは、すべて変更可能です。
Sue Bram(ユーザID sbram)の返信設定を「差出人にのみ返信」にするには、以下のように入力します。
PUT PREFERENCES sbram 1107 7 2
Sue Bram(ユーザID sbram)の[署名]フィールド(ID 1109)の先頭行を「Sue Bram」に、2行目を「Husky Planes」に設定し、[新規メッセージに署名を自動的に追加する]フィールド(ID 1108)を有効にするには、以下のように入力します。
PUT PREFERENCES sbram 1109 0 "Sue Bram\rHusky Planes" 1108 6 1
\rの部分には、改行文字コードが入力されます。
署名テキストが250文字を超える場合は、以下のように +オプションを使用して追加のテキストを入力します。
PUT PREFERENCES sbram 1109 0 "The views and opinions expressed in this email are strictly those of the author./r"
PUT PREFERENCES sbram 1109 0 "The contents of this email have not been reviewed or approved by Husky Planes" +a
Sue Bram(ユーザID sbram)の[印刷レイアウト]フォーム(ID 180)の[宛先領域の印刷]フィールド(ID 4508)を無効にするには、以下のように入力します。
PUT PREFERENCES sbram 4508 6 0
PUT RESUMEの例
RESUMEオブジェクトタイプを利用すると、ユーザの[プロフィール]フォームに情報を登録できます。
Susan Bram(ユーザID sbram)のプロフィールにSusan Bramという名前を登録するには、以下のように入力します。
PUT RESUME sbram 1006 0 "Susan" 1014 0 "Bram"
このプロフィールに情報を登録するには、以下のように入力します。
PUT RESUME sbram 6 "My name is Susan Bram, and I have worked for Husky Planes for 5 years.\r\rMy normal hours are 0700 to 1500"
\rの部分には、改行コードが入力されます。
このプロフィールに情報を追加するには、以下のように入力します。
PUT RESUME sbram 6 "If you need help outside my normal hours, please contact Paul Chu."+a
このプロフィールにイメージを追加するには、Batch Admin宛に作成したメッセージにイメージファイルをアップロードし、以下のように入力します。
PUT RESUME sbram 1001 122 "sbramphoto.jpg" +F
PUT RULESの例
[Employee Lounge]会議室の[File by Subject]という名の詳細ルールを無効にするには、以下のように入力します。
PUT RULES "General Conferences:employee lounge" "file by subject" 13800 6 0
COMPILE "General Conference:employee lounge"
[Employee Conferences]コンテナ用テンプレートの[File by Subject]という名の詳細ルールを無効にするには、以下のように入力します。
PUT MODEL RULES "Employee Conferences" "file by subject" 13800 6 0
COMPILE MODEL "Employee Conferences"
Susan Bram(ユーザID sbram)のメールボックスの「File by Subject」という名の詳細なルールを無効にするには、以下のように入力します。
PUT RULES DESKTOP sbram "Mailbox" "file by subject" 13800 6 0
COMPILE DESKTOP sbram "Mailbox"
PUT SEARCH userIDの例
SEARCHオブジェクトタイプを利用して、[検索]フォームのパラメータを設定できます。
Susan Bram(ユーザID sbram)の[検索]フォームの[オプションを表示]フィールド(ID 1229)と[サブコンテナ]フィールド(ID 1204)を有効にするには、以下のように入力します。
PUT SEARCH sbram 1229 6 1 1204 6 1
PUT SYSPROFILEの例
SYSPROFILEオブジェクトタイプを利用して、[システムプロファイル]フォーム上のフィールドを更新できます。
サーバの優先度を「高」に設定するには、以下のように入力します。
PUT SYSPROFILE 1226 7 0
優先度を「中」にするにはfieldvalueを1に、「低」にするにはfieldvalueを2にします。
06092010_122716_1.png注意
サーバは時間の値を秒単位で格納しています。1日は、86400秒です。個人のメールや会議室アイテムの有効期限を変更する際には、この点にご注意ください。fieldvalueが60なら、60日ではなく60秒となります。1日の秒数より小さい値はすべて無視されます。
GETコマンドは、PUTコマンドを作成する際に役立ちます。例えば、[住所]フィールド(ID 1205)と[電話]フィールド(ID 1206)をすべてのユーザに追加したい場合、GETコマンドを利用してPUT構文を作成できます。
1 FirstClassデザイナーでExample.fcを開きます。
2 [ユーザ情報]フォーム(ID 125)を開き、この2つのフィールドのフィールドIDを調べます。
3 任意のユーザ(この例ではsbram)に住所と電話を入力します。
4 以下のようにGETコマンドを記述して送信します。
REPLY
GET USER sbram 1255 1256
サーバからフィールドのID、フィールドの種類、およびフィールドの値が返されます。
1255 0 "9055551212" 1256 0 "1212"
5 フィールドの値を適切な内容に置き換えて、PUTコマンドを作成します。ユーザID pchuのユーザに住所と電話番号の情報を追加する場合は、下記のようになります。
PUT USER pchu 1255 0 "9055551213" 1256 0 "1213"
オブジェクトを作成してフィールドに入力する場合、PREVIOUSコマンドでパスを置換できます。
例えば、ユーザグループを作成して[組織単位]フィールド(ID 1272)を設定する場合には、以下のように入力します。
New groups "Employee" "" FormDoc 23003 3 302 124
Put Previous 1272 7 600




PUT PERMISSIONS
PUTコマンドでPERMISSIONキーワードを指定することにより、会議室、メールボックス、コンタクトデータベース、およびカレンダーの各権限フォーム上のフィールドを変更できます。権限フォームには2つの種類があります。1つ目は、管理者デスクトップの[Groups]フォルダ内にあるコンテナ用テンプレートとカレンダーグループで使用するフォームです。2つ目は、メールボックス、コンタクトデータベース、会議室、またはカレンダーで使用するフォームです。それぞれのフォームで構文が異なります。EXPORTコマンドを利用すると、既存の会議室、コンタクトデータベース、またはカレンダーの権限設定内容を抽出できます。
[会議室の権限]フォームは、Example.fc内ではAclという名前で、フォームIDは103です。[カレンダーの権限]フォームのフォームIDは64、[コンテナ用テンプレートの権限]フォームのフォームIDは100、[カレンダーグループの権限] フォームのフォームIDは63、[コンタクトデータベースの権限]フォームのフォームIDは55です。
構文
・コンテナ用テンプレートまたはカレンダーグループの権限フォームの[対象]、[アクセスレベル]、および[権限]の各フィールドを変更する場合
06092010_122716_1.png注意
[対象]フィールドと[アクセスレベル]フィールドのフィールドIDはどちらも29です。したがって、この2つのパラメータは同時に設定されます。
PUT PERMISSIONS MODEL groupname path 29 index name fieldvalue
・コンテナ用テンプレートまたはカレンダーグループの権限フォームにある他のフィールドを変更する場合
PUT PERMISSIONS MODEL groupname path fieldlist
・会議室またはカレンダーの権限フォームの[対象]、[アクセスレベル]、および[権限]の各フィールドを変更する場合
06092010_122716_1.png注意
[対象]フィールドと[アクセスレベル]フィールドのフィールドIDはどちらも29です。したがって、この2つのパラメータは同時に設定されます。
PUT PERMISSIONS path 29 index name fieldvalue
・会議室やカレンダー権限フォーム上の他のフィールドを変更する場合
PUT PERMISSIONS path fieldlist
パラメータ
path    会議室またはカレンダーで、管理者デスクトップからの相対パスで指定します。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
groupname       コンテナ用テンプレートまたはカレンダーグループの名前です。
index   リスト内でエントリを指定する位置です。0は一番上に表示されている名前、1は2番目に表示されている名前、というように続きます。
fieldlist       フォームにある3つのフィールドの組み合わせを示す値です。
fieldID fieldtype fieldvalueの形で記述します。
fieldID         フィールドIDです。
        fieldtypeフィールドの種類です。以下の値を入力できます。
0=文字列。テキストと選択リスト(入力可)として定義されているフィールドです。
6=チェックボックス。チェックボックスおよびラジオグループとして定義されているフィールドです。
7=ポップアップ。選択リスト(入力不可)として定義されているフィールドです。
14=数値。数値および日付と時間として定義されているフィールドです。
fieldvalue      フィールドの値です。引用符で囲む必要がある場合があります。フィールドの値は、チェックボックス、ポップアップ、および数値に対しては数値で示す必要があります。ポップアップの値は、FirstClassデザイナーで調べることができます。
[Employee Conferences]という名のコンテナ用テンプレートの権限を設定して、[Enployee]グループに「検索可」権限が与えられるようにするには、以下のように入力します。
PUT PERMISSIONS MODEL "employee conferences" "" 29 0 "Employee" 87552
06092010_122716_1.png注意
コンテナ用テンプレートを操作する際には、パスは常に空の引用符の組(””)とします。
[Employee Lounge]会議室の権限を設定し、[Employee]グループに「送信可」権限が与えられ、[All Users]グループは「すべて禁止」に設定されるようにするには、以下のように入力します。
PUT PERMISSIONS "General Conferences:employee lounge" 29 0 "employee" 122624 29 1 "all users" 0
ディレクトリに非公開の会議室を[Employee Conferences]および[Custom Columns]の各コンテナ用テンプレートに所属させるには、以下のように入力してください。
PUT PERMISSIONS "General Conferences:secret employee lounge" 19 0 "Employee Conferences" 19 1 "Custom Columns"
06092010_122716_1.png注意
ディレクトリに名前が表示される会議室をグループに所属させる場合には、PGADDコマンドを参照してください。PGADDコマンドではパスの指定は必要なく、コンテナ名を指定するだけでかまいません。
ユーザ設定の権限を作成するには、ユーザ、グループまたはゲートウェイに与えるすべての権限の値を加算して、fieldvalueパラメータの値としてください。
例えば、「アイテムの送信」権限の値は2048で、「自分のアイテムの削除」権限の値は256です。この2つの権限を設定する場合、2つの値の合計値2304がfieldvalueの値となります。
[Employee Lounge]会議室の権限を設定し、すべてのユーザがメールの送信と自分のメールの削除をできるようにするには、以下のように入力します。
PUT PERMISSIONS "General Conferences:employee lounge" 29 0 "all users" 2304
[Employee Conferences]コンテナ用テンプレートの権限を設定し、すべての社員がメールの送信と自分のメールの削除をできるようにするには、以下のように入力します。
PUT PERMISSIONS MODEL "Employee Conferences" "" 29 0 "Employee UG" 2304
Susan Bram(ユーザID sbram)のメールボックスの権限を設定し、Paul Chuがメールの送信とメールの送信取り消しをできるようにするには、以下のように入力します。
PUT PERMISSIONS desktop sbram mailbox 29 0 "Paul Chu" 2304
Susan Bramがインターネットメールの受信をできないようにするには、以下のように入力します。
PUT PERMISSIONS desktop sbram mailbox 29 0 "internet" 0
[Customer List]コンタクトデータベースの権限を設定し、[Sales]グループのユーザに「作成可」権限を、[Employee]グループに「個別表示可」権限を与え、それ以外のユーザは「すべて禁止」に設定するには、以下のように入力します。
PUT PERMISSIONS "General Conferences:Employee Lounge:Customer List" 29 0 "Sales" 131054 29 1 "Employees" 29 2 "All Users" 0
会議室のアクセスレベルのフィールド値は、以下の通りです。
        値   アクセスレベル
        0       すべて禁止
        512     表示可
        4608    閲覧可
        87552   検索可
        122624  送信可
        122752  承認可
        122798  主催者
        131054  作成可
        131071  コントローラ
会議室の個々の権限のフィールド値は、以下の通りです。
        値   権限
        1       権限の編集
        2       主催者
        4       すべてのアイテムの削除
        8       アイテムの作成
        16      読み取り専用アイテムの編集
        32      アイテムの編集
        64      ウィンドウと表示のプロパティの保存
        128     アイテムの承認
        256     自分のアイテムの削除
        512     会議室を開く
        1024    アイテムの検索
        2048    アイテムの送信
        4096    アイテムを開く
        8192    子会議室の作成
        16384   ファイルと添付ファイルのダウンロード
        32768   権限の表示
        65536   履歴の表示
ユーザ設定の権限を作成するには、ユーザ、グループ、またはゲートウェイに与えるすべての権限を加算して、fieldvalueの値としてください。
カレンダーのアクセスレベルのフィールド値は、以下の通りです。
        値   アクセスレベル
        0                               すべて禁止
        2097152         時間表示可
        2304                    スケジュール作成可
        2099456         時間表示/スケジュール作成可
        2100992         件名表示/スケジュール作成可
        2219821         件名表示/スケジュール編集可
カレンダーの個々の権限のフィールド値は、以下の通りです。
        値   権限
        0       すべて禁止
        1       権限の編集
        2       主催者
        4       すべてのアイテムの削除
        8       アイテムの作成
        16      読み取り専用アイテムの編集
        32      アイテムの編集
        64      ウィンドウと表示のプロパティの保存
        128     アイテムの承認
        256     自分のアイテムの削除
        512     秘密度が[非公開]でないアイテムの閲覧
        1024    アイテムの検索
        2048    参加者の追加
        4096    アイテムを開く
        16384   ファイルをダウンロードする
        32768   権限の表示
        65536   履歴の表示
        2097152 カレンダーを開く
メールボックスのアクセスレベルのフィールド値は、以下の通りです。
        値   アクセスレベル
        0         すべて禁止
        2097152         時間表示可
        2304         スケジュール作成可
        2099456         時間表示/スケジュール作成可
        2100992         件名表示/スケジュール作成可
        2219821         件名表示/スケジュール編集可
コンタクトデータベースのアクセスレベルのフィールド値は、以下の通りです。
        値   権限
        0       すべて禁止
        512     一覧表示可
        87552   個別表示可
        131054  作成可
[電話メモ]フォームのIDは128です。[Employee Lounge]会議室の権限フォームで「使用するフォーム」フィールド(ID 2008)を[電話メモ]フォームに設定するには、以下のように入力します。
PUT PERMISSIONS "General Conferences:Employee Lounge" 2008 14 128
[電話メモ]フォームのIDは128です。[Employee Read]コンテナ用テンプレートの権限フォームで「使用するフォーム」フィールド(ID 2008)を[電話メモ]フォームに設定するには、以下のように入力します。
PUT PERMISSIONS MODEL "Employee Read" "" 2008 14 128
[Employee Lounge]会議室の権限フォームで[メッセージの有効期間]を「無制限」にするには、以下のように入力します。
PUT PERMISSIONS "General Conferences:Employee Lounge" 1004 14 214849374
[Employee Lounge]会議室の権限フォームで[メッセージの有効期間]を1日にするには、以下のように入力します。
PUT PERMISSIONS "General Conferences:Employee Lounge" 1004 14 86400
[Employee Conference]コンテナ用テンプレートの権限フォームで[メッセージの有効期間]を「無制限」にするには、以下のように入力します。
PUT PERMISSIONS MODEL "Employee Conferences" "" 1004 14 214849374
[Employee Lounge]会議室の権限フォームで[メッセージの有効期間]を1日にするには、以下のように入力します。
PUT PERMISSIONS MODEL "Employee Conferences" "" 1004 14 86400
06092010_122716_1.png注意
サーバは時間の値を秒単位で格納しています。1日は、86400秒です。fieldvalueが60なら、60日ではなく60秒となります。1日の秒数より小さいフィールド値は、すべて無視されます。
既存の会議室またはカレンダーを未公開に設定するには、以下のように入力します。
PUT PERMISSIONS "General Conferences:Employee Lounge" 2007 6 1
PUT PERMISSIONS "General Conferences:Employee Lounge:Staff Calendar" 2007 6 1
関連するコマンド
権限フォームのすべての内容を変更するには、さらに以下の4つのコマンドが必要です。
[プロフィール]ボタンをクリックすると、ディレクトリに公開されている会議室のプロフィールが表示されますが、このフォームを更新するには、PUT ABOUT <conference name>を使用してください。ディレクトリに公開されていない会議室の場合は、PUT ABOUTPATHを使用してください。
[ディレクトリ情報]ボタンをクリックすると、[ディレクトリ情報]フォームが表示されますが、このフォームの内容を変更するには、PUT DIRECTORY CONFERENCE <conference name>またはPUT DIRECTORY CALENDAR <calendar name>を使用してください。
参加者一覧は、REMOVEコマンド、LINK USERコマンド、またはLINK SPECIALコマンドで変更します。
またはディレクトリに公開されているコンテナの所属ユーザは、PGADDコマンドまたはPGDELコマンドで変更します。ディレクトリに公開されていないコンテナの所属ユーザは、PUT PERMISSIONSで変更します。



PW
FirstClassスクリプトのコンポーネントにFirstClassスクリプトのパスワードを送信します。このコマンドは、スクリプトの先頭行で使用します。このパスワードが、EXPORTコマンドや[パスワード]フィールドで指定したパスワード制限より優先して適用されることはありません。EXPORTコマンドの実行やパスワードの取得は、管理者アカウントだけで行うことができます。
構文
PW password
パラメータ
password        パスワードです(最大半角12文字)。
バッチ管理用パスワードが「f1504x2s」で、管理者ではないユーザがバッチ管理を行う場合には、スクリプトの先頭に以下のように入力します。
PW f1504x2s
06092010_122716_1.png注意
管理者でないユーザがバッチ管理を行う場合、他のコマンドより前にこのパスワードを記述しなければなりません。記述しなければ、どのコマンドも実行されません。



REMOVE
保護されていないオブジェクトを削除します。このコマンドを実行すると、ユーザグループまたはコンテナ用テンプレートで利用していたルールとアップロード済みリソースが削除されます。このコマンドでは、コンテナ単位でルールとリソースを削除することはできません。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
構文
REMOVE targetpath -p +q
パラメータ
path    削除対象のパスで、管理者デスクトップからの相対パスで指定します。
DESKTOP userID path     アイテムを削除するユーザのユーザIDです。パスは、ユーザのデスクトップからの相対位置で指定します。
MODEL groupname ユーザグループまたはコンテナ用テンプレートの名前です。
-p      省略可能です。対象のオブジェクトが保護されていても削除します。
+q      省略可能です。対象のオブジェクトが見つからなくても通知しません。
+x      ユーザグループまたはコンテナ用テンプレートの[Rules & Resources]フォルダを操作する際には必須です。
Londonゲートウェイを削除するには、以下のように入力します。
REMOVE "Gateways:London" -p
Susan Bram(ユーザID sbram)のデスクトップにある[Presentations]会議室の保護を解除して削除するには、以下のように入力します。
REMOVE DESKTOP sbram "Presentations" -p
コンテナ用テンプレートからルールを削除するには、以下のように入力します。
REMOVE MODEL "Employee Read Conferences" "" "Mark as Urgent" +X
空の引用符の組(””)を、必ずグループ名の後に入れてください。
アップロードしたリソースをユーザグループから削除するには、以下のように入力します。
REMOVE MODEL "Employee" "" "new_desktop.jpg" +X
空の引用符の組(””)を、必ずグループ名の後に入れてください。



RENAME
保護されていないオブジェクトの名前を変更します。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
構文
RENAME targetpath objname
パラメータ
targetpath      管理者デスクトップからの相対パスです。
DESKTOP userID targetpath       ユーザのデスクトップからの相対パスです。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
objname         オブジェクトに付ける新しい名前です。
[Employee Lounge]会議室の名前を[Staff Lounge]に変更するには、以下のように入力します。
RENAME "General Conferences:employee lounge" "Staff Lounge"
Susan Bram(ユーザID sbram)のデスクトップにある[Presentations]会議室の名前を[Obsolete Presentations]に変更するには、以下のように入力します。
RENAME DESKTOP sbram "Presentations" "Obsolete Presentations"
[Presentation]会議室が保護されている場合には、あらかじめPUT PROPERTIES DESKTOPコマンドで保護を解除する必要があります。  

リーフアイテムまたはコンテナは、保護されているか読み取り専用に設定されている場合には名前を変更できません。3つのコマンドを記述して属性を無効にしてからオブジェクト名を変更し、再び属性を有効にするという作業をしなくても、PUTコマンドとPROPERTIESキーワードを使えばオブジェクト名を変更できます。
PUT PROPERTIES DESKTOP sbram "presentations" 1017 0 "Obsolete Presentations"

[プロパティ]フォーム(Windows)または[情報を見る]フォーム(Mac OS)の[保護]フィールドのIDは1016です。すでに保護が解除されているアイテムに対して保護を解除するコマンドを送信して、Renameコマンドが失敗しないようにすることをお勧めします。




REPEAT
REPEATコマンドは、スクリプトをすぐに終了してもう一度開始します。1つのスクリプトに含めることができるREPEATコマンドは1つだけで、複数のREPEATコマンドを記述するとスクリプトはただちに中断されます。REPEATコマンドが正しく中断された場合は、スクリプトは引き続き実行されます。
構文
REPEAT fieldID
パラメータ
fieldID         対象のフィールドです。
fieldID.-1      対象のフィールドは重複グループのフィールドです。
あるカスタムメッセージに重複フィールドが含まれています。

メッセージ本文には、12001、12002、および12003のフィールドの内容をただ返すだけのスクリプトを含めます。接尾辞の-1によって、すべてのエントリが合致します。
IF REPEAT == 1
REPLY
ENABLEFIELDSUBSTITUTION
ENDIF

//実行するコマンドセット
//変数1フィールドのコンテンツには12001.-1を使用
//変数2フィールドのコンテンツには12002.-1を使用
//変数3フィールドのコンテンツには12003.-1を使用

Write Variable 1 = #12001.-1, Variable 2 = #12002.-1, Variable 3 = #12003.01

//変数1フィールド12001の各行に対して、これらのコマンドを1回実行
//その行は変数は12001フィールドにエントリを持っている必要がある
REPEAT FIELD 12001.-1
サーバは以下の情報を返します。
Variable 1 = Index 0,  Field 12001, Variable 2 = Index 0, Field 12002, Variable 3 = Index 1, Field 12003
Variable 1 = Index 1, Field 12001, Variable 2 = Index 1, Field 12002, Variable 3 = Index 1, Field 12003
53名のユーザが、オプションの保護された[2001 Sales Presentations]という名のフォルダを持っています。ユーザIDの一覧をフォームに入力するのではなく、LISTコマンドですばやく生成できれば、スクリプトでメッセージを作成して、フィールドを入力できます。
SetBase Mailbox

SetRelative FromBase Path ""

// Reference: 1:87675
New Relative "" "batch admin" "Delete Sales Presentation folder" Form 7014 0 0 12004 87675 -U
Put Previous 8120 7 1252 8140 0 8141 0 8126 -1018972474 9 ""
Put Previous 8 "Administrator" -V
Put Previous 4 0 "batch admin" -V

//メッセージ本文、入れ子になった引用符をメモ
Put Previous 6 'EXECUTE SCRIPT PATH "scripts:DeleteFolder"'

//これらの53個の名前を変数1フィールドに追加
Put Previous 12001.0 0 "SBram"
Put Previous 12001.1 0 "PChu"
//その他、最後のユーザIDまで
Put Previous 12001.49 0 "SCurry"

SetRelative FromBase Path ""
[Employee Lounge]会議室内にコンタクトデータベースがあり、このエイリアスを販売スタッフ全員のコンタクトフォルダ内に作成する場合を例に取ります。一部の販売スタッフのコンタクトにはこのエイリアスがすでに作成されていますが、全員が確実にこのエイリアスを利用できるようにすることとします。また、コンタクトデータベースの名前をCustomersからEast Coast Customersに変更することにします。したがって、この例では2つの解決すべき問題があります。それは、既存のエイリアスの名前を変更することと、エイリアスが存在しない場合に作成することです。
上のようなカスタムメッセージフォームを作成し、ユーザIDを入力して、このスクリプトをメッセージ本文に追加します。
IF REPEAT == 1
ENABLEFIELDSUBSTITUTION
ENDIF

//ユーザのコンタクトフォルダ内にCustomersのエイリアスがあるかどうかをチェックする
IF OBJECT desktop #12001.-1 "Contacts:Customers" EXISTS
//上の文が真であれば名前を変更する
rename desktop #12001.-1 "Contacts:Customers" "East Coast Customers"
ELSE
//上の文が偽であればエイリアスを作成する
LINK SPECIAL desktop #12001.-1 "Contacts" "General Conferences:Employee Lounge:East Coast Customers"
ENDIF

REPEAT FIELD 12001.-1
スクリプトを再利用するか、標準スクリプトとして保存しておきたい場合は、管理者デスクトップ上に保護されたフォルダを作成して、スクリプトをドキュメントに保存しておくことができます。メッセージには、以下のようにコマンドを1つだけ記述します。
EXECUTE SCRIPT PATH "scripts:DeleteFolder"
[DeleteFolder]ドキュメントには、以下のスクリプトを記述します。
IF REPEAT == 1
ENABLEFIELDSUBSTITUTION
ENDIF

//実行するコマンドセット
//ユーザIDには12001.-1を使用

//非コメント化し、コンソールに12001の値を表示する
//Write +c Variable 1 = #12001.-1

REMOVE DESKTOP "#12001.-1" "2001 Sales Presentations" +p

//各行に対して、これらのコマンドを1回実行
//その行は変数は12001フィールドにエントリを持っている必要がある
//フィールド12001が53個のエントリを持っていれば、上のコマンドが53回実行される
REPEAT FIELD 12001.-1


REPLY
生成した出力結果を返信メッセージとして送り返すように要求します。GETGETADMINLIST SNAPSHOT、およびDIAGNOSEDIRの各コマンドは、このコマンドとともに使用する必要があります。ほとんどのコマンドは、このコマンドと組み合わせて使用できます。しかし、一部のコマンドは、コマンドが失敗した場合にしか返信メッセージを送りません。また、サーバコンソールで[Logging]>[Batch Admin Log]を選択して、バッチ管理のログを取得するようにも設定できます。
構文
REPLY
返信メッセージが他のユーザに送信されるようにするには、以下の構文を使用します。
REPLY name
返信メッセージの件名を設定するには、以下のように入力します。
REPLY subject name +s
パラメータ
name    ユーザまたは会議室をメールの宛先に設定する際にディレクトリに表示される名前です。
subject メッセージの[件名]フィールドに入力されるテキストです。
+s      省略可能です。最初の変数を件名として使用します。
すべてのユーザの一覧を作成してエクスポートし、その出力結果をメッセージとしてを取得する場合には、以下のように入力します。
REPLY
LIST +ur
Susan Bramというユーザに、「登録確認」という件名の返信メッセージが送られるようにするには、以下のように入力します。
REPLY "Registration Confirmed" "Susan Bram" +s
WRITE You are confirmed in the April 11, 2007 event.
sbram@huskyplanes.comというメールアドレスに、「登録確認」という件名の返信メッセージが送られるようにするには、以下のように入力します。
REPLY "Registration Confirmed" "sbram@huskyplanes.com"
WRITE You are confirmed in the April 11, 2007 event.
ユーザに送信される返信メッセージに大量のスクリプトが含まれる場合、EXECUTEコマンドを使用して、そのユーザに送信したい部分のテキストだけを分離するとよいでしょう。そうすれば、ユーザは余分なスクリプトが大量に含まれた返信メッセージを受け取らなくても済むようになります。
//many commands precede this commandEXECUTE SCRIPT PATH ADMIN DESKTOP "scripts:userconfirm"




SETEXPORTFILTERS
EXPORTコマンドとともに使用し、スクリプト内に返される情報の内容を制限します。エクスポートするアイテムを最終更新日またはメッセージのスレッドで指定できます。
構文
SetExportFilters THREAD <Thread Site ID> <Thread ID> MODIFIED AFTER <Date> MODIFIED BEFORE <Date> options
パラメータ              

THREAD "Thread Site ID" "Thread ID"
                メッセージのスレッドIDに基づいてスクリプトを返します。

MODIFIED AFTER "specified date"
最終更新日基づいてスクリプトを返します。

MODIFIED BEFORE "specified date"
最終更新日基づいてスクリプトを返します。
+D              modifiedパラメータと組み合わせて、システムのデフォルト形式で記述した日付を入力する場合に使用します。このオプションは大文字で記述してください。
指定したスレッドIDに含まれるメッセージをエクスポートするには、以下のように入力します。
SETEXPORTFILTERS thread 34537 35410266
EXPORT "General Conferences:staff lounge"
スレッドサイトIDとスレッドIDを表示するには、詳細表示で右クリック(Windows)または[ctrl]キー+クリック(Mac OS)して、ドロップダウンメニューから「スレッド」を選択します。
2007年4月21日に作成されたメッセージをエクスポートするには、以下のように入力します。
SETEXPORTFILTERS modified after "2004/04/20" modified before "2007/04/22" +D
EXPORT "General Conferences:staff lounge"
2007年4月21日以前のメッセージをエクスポートするには、以下のように入力します。
SETEXPORTFILTERS modified before "2007/04/22" +D
EXPORT "General Conferences:staff lounge"
2007年4月22日以降のメッセージをエクスポートするには、以下のように入力します。
SETEXPORTFILTERS modified after "2007/04/21" "" +D
EXPORT "General Conferences:staff lounge"



SETEXPORTOPTIONS
EXPORTコマンドとともに使用して、デフォルトの添付ファイル名の変更、インポートスクリプトを含むテキストファイルの作成、およびインポートスクリプトの基本パスの指定を行います。このコマンドは、FirstClassアプリケーションディベロッパーを使う場合に役立ちます。
構文
SetExportOptions ATTACH <AttachmentName> EXTENSION <ExtofAttachments> TARGET <BasePathforImport>
パラメータ              
ATTACH <AttachmentName> 最大半角20文字です。
EXTENSION <ScriptExtension>     インポートスクリプトを記述するファイルの拡張子です。
TARGET <BasePathforImport>      インポートスクリプトの基本パスです。このパスを指定しない場合、スクリプトには<ObjDesc>が含まれます。
[Employee Lounge]会議室にあるすべての添付ファイルの名前を、デフォルトの「Attach」ではなく「lounge」に変更してエクスポートするには、以下のように入力します。
SetExportOptions attach lounge
EXPORT "general conferences:employee lounge"

インポートスクリプトの添付ファイル名が「lounge」で始まるようにし、エクスポートスクリプトを含むテキストファイルがtxtという拡張子で終わるようにし、インポートスクリプトの基本パスを「General Conferences:Employee Lounge Backup」に設定する場合は、以下のように入力します。
SetExportOptions attach lounge extension txt target "General Conferences:Employee Lounge Backup"
EXPORT "general conferences:employee lounge"

サーバは以下のようなメッセージを返し、lounge.txtにはインポートスクリプトが記述されます。




SETOU
新しく作したユーザやコンテナを所属させるグループを指定します。
構文
SETOU groupname
パラメータ
groupname       このユーザグループの名前です。このグループに組織単位を定義する必要はありません。
Susan A. Bramというユーザを[Consultant]グループに所属させるには、以下のように入力します。
SETOU consultant
add network susan susan a bram "" carrot



UPDATE
ファイルの更新を行います。通常は、[FC Resource Registry]内にある既存の設定ファイルに新しい設定ファイルを結合するために使用します。
構文
UPDATE path name +b
パラメータ
path    削除対象のパスで、管理者デスクトップからの相対パスで指定します。
name    ファイル名です。拡張子を記述して指定します。
+b      サーバのハードドライブ上にある\FCNS\Server\Batchフォルダ内のファイルをアップロードします。
newforms.fcという設定ファイルの中にあるリソースを、Japanese Resourcesとja.rezに追加するには、newforms.fcファイルをメッセージに添付して、以下の2つのコマンドを入力します。

UPDATE "multi-site setup:fc resource registry:japanese resources" "newforms.fc"
UPDATE "multi-site setup:fc resource registry:ja.rez" "newforms.fc"



SETBASE
SETBASEコマンドの後に続くコマンドでパスを指定する際に、SETBASEコマンドで登録したアプリケーションフォルダか、現在のユーザからの相対パスを使用できるようにします。SETBASEを定義すると、RELATIVEコマンドを使用して、絶対パスの代わりに相対パスでパスを指定できるようになります。
構文
アプリケーションフォルダを登録して、そこからの相対パスを指定できるようにするには、以下のように入力します。
SETBASE appid +APP
SETRELATIVE FROMBASE ""
ユーザのデスクトップからの相対パスを指定できるようにするには、以下のように入力します。
SETBASE +USER
SETRELATIVE FROMBASE ""
ルールを実行するコンテナまたはコンテナ用テンプレートからの相対パスを指定するには、以下のように入力します。
SETBASE +ORIGIN
SETRELATIVE FROMBASE ""
フォームID 4001を使用してローカルアプリケーションを作成したとします。すべてのコマンドで、パスを「firstclass applications:local application」と指定しなくても済むようにするには、以下のように入力します。
SETBASE 4001 +APP
SETRELATIVE FROMBASE ""
PUT properties RELATIVE "document a" 1016 6 1
アプリケーションルールに実行スクリプトが設定されている場合、以下のコマンドは、このルールを実行したユーザのデスクトップ上で実行されます。
SETBASE +USER
SETRELATIVE FROMBASE ""
PUT properties RELATIVE "Home Page" 1016 6 0
RENAME RELATIVE "Home Page" "My Web Site"
アプリケーションルールに実行スクリプトが設定されている場合、以下のコマンドは、このルールが実行されるコンテナ内で実行されます。
SETBASE +ORIGIN
SETRELATIVE FROMBASE ""
NEW RELATIVE "Project Members" "" FOLDER 20439 0 0



SETRELATIVE ""およびRELATIVE ""
このコマンドの後に続くコマンドでパスを指定する際に、このコマンドで登録した場所からの相対パスを使用できるようにします。SETRELATIVEを定義すると、RELATIVEコマンドを使用して、絶対パスではなく相対パスでパスを指定できるようになります。
構文
SETRELATIVE <path> ""
SETRELATIVEの後には、必ず空の引用符の組("")を記述してください。
<command> RELATIVE path
サブコンテナが必要でない場合には、空の引用符の組(””)を使用できます。
3つのコンタクトをSusan Bram(ユーザID sbram)のコンタクトフォルダに登録するには、以下のように入力します。
SETRELATIVE DESKTOP sbram "Contacts" ""
NEW RELATIVE "" "Paul Chu" "" FormDoc 23023 434 49 105
NEW RELATIVE "" "Roy Allen" "" FormDoc 23023 434 49 105
NEW RELATIVE "" "Amanda Ho" "" FormDoc 23023 434 49 105
同じコンタクトを2名のユーザ(ユーザIDはsbramとrallen)のコンタクトフォルダに作成するには、以下のように入力します。
SETRELATIVE DESKTOP sbram "Contacts" ""
NEW RELATIVE "" "Paul Chu" "" FormDoc 23023 434 49 105
NEW RELATIVE "" "Stanley Matthews" "" FormDoc 23023 434 49 105
NEW RELATIVE "" "Amanda Ho" "" FormDoc 23023 434 49 105

SETRELATIVE DESKTOP rallen "Contacts" ""
NEW RELATIVE "" "Paul Cnu" "" FormDoc 23023 434 49 105
NEW RELATIVE "" "Stanley Matthews" "" FormDoc 23023 434 49 105
NEW RELATIVE "" "Amanda Ho" "" FormDoc 23023 434 49 105
Susan(ユーザID sbram)のWebフォルダには3つのサブフォルダがあり、Home Pageドキュメントをこの3つのフォルダに作成するには、以下のように入力します。
SETRELATIVE DESKTOP sbram "My Web Site" ""
NEW RELATIVE "Project A" "Home Page" "" Document 23019 30 15 900
NEW RELATIVE "Project B" "Home Page" "" Document 23019 30 15 900
NEW RELATIVE "Project C" "Home Page" "" Document 23019 30 15 900
3つのコンタクトと1つのHome PageドキュメントをSusan Bramのために作成するには、以下のように入力します。
SETRELATIVE DESKTOP sbram "Contacts" ""
NEW RELATIVE "" "Paul Chu" "" FormDoc 23023 434 49 105
NEW RELATIVE "" "Roy Allen" "" FormDoc 23023 434 49 105
NEW RELATIVE "" "Amanda Ho" "" FormDoc 23023 434 49 105

SETRELATIVE DESKTOP sbram "My Web Site" ""
NEW RELATIVE "" "Home Page" "" Document 23019 30 15 900
SETRELATIVEを使用してSusanのデスクトップを指定し、RELATIVEを使用してサブフォルダを指定することもできます。
SETRELATIVE DESKTOP sbram ""
NEW RELATIVE "Contacts" "Paul Chu" "" FormDoc 23023 434 49 105
NEW RELATIVE "Contacts" "Roy Allen" "" FormDoc 23023 434 49 105
NEW RELATIVE "Contacts" "Amanda Ho" "" FormDoc 23023 434 49 105

SETRELATIVE DESKTOP sbram ""
NEW RELATIVE "My Web Site" "Home Page" "" Document 23019 30 15 900
関連するコマンド
新規オブジェクトを作成する際に、PREVIOUSコマンドを使用すると、作成したばかりのオブジェクトを操作できます。異なるコマンドが現れると、すぐにPREVIOUSコマンドは使用できなくなります。
Susan Bramのために作られた3つのコンタクトに内容を追加するには、以下のように入力します。
SETRELATIVE DESKTOP sbram "Contacts" ""

NEW RELATIVE "" "Paul Chu" "" FormDoc 23023 434 49 105

NEW RELATIVE "" "Stanley Matthews" "" FormDoc 23023 434 49 105

NEW RELATIVE "" "Amanda Ho" "" FormDoc 23023 434 49 105



SNAPSHOT
HOLDコマンドとは全く別のコマンドです。会議室の表示のプロパティを、PUTコマンドの書式で返します。EXPORTコマンドでも表示のプロパティを含むスクリプトを生成できます。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
構文
REPLY
SNAPSHOT path
パラメータ
path    オブジェクトの位置です。管理者デスクトップからの相対位置で指定します。
DESKTOP userID path     コンテナの場所で、ユーザのデスクトップからの相対位置で指定します。
[General Conferences]内の[Employee Lounge]会議室の表示のプロパティを他の会議室に適用するには、以下の手順に従ってください。
1       分割表示、サイズ、並び順、列の幅、コンピュータのデスクトップ上での位置のほか、[表示のプロパティ]フォームで選択できる項目を設定します。
2       以下のコマンドを入力します。
REPLY
SNAPSHOT "General Conferences:Employee Lounge"
サーバから以下の情報が返されます(コメント部分は含まれません)。
//ウィンドウの位置と大きさ、分割位置とサイズ、および表示位置
Put "General Conferences:employee lounge" 900 51 901 271 902 10 903 621 904 735
//詳細表示で表示するフィールド
Put "General Conferences:employee lounge" 13000.0 122 0008000500100009000C000A000C0007008200060028FFFD000E000800DC00020064 -S

//上部ペインの表示のプロパティ
Put "General Conferences:employee lounge" 13075.0 7 8 13016.0 7 0 13015.0 0 "" 13065.0 14 -2147483646 13062.0 7 13 13063.0 7 13 13064.0 7 0 13074.0 7 2 13084.0 7 1 13053.0 7 0 13003.0 7 24 13082.0 7 80 13083.0 0 "l_pane1.png"
Put "General Conferences:employee lounge" 1101.0 14 10289154
Put "General Conferences:employee lounge" 13100.0 122 0007000500100009000C000A000C0007008200060028000800DC00020064 -S

//下部ペインの表示のプロパティ
Put "General Conferences:employee lounge" 13175.0 7 -1 13116.0 7 0 13115.0 0 "" 13165.0 7 8 13162.0 7 13 13163.0 7 13 13164.0 7 0 13174.0 7 0 13184.0 7 0 13153.0 7 0 13103.0 7 24 13182.0 7 32 13183.0 0 ""
3       サーバからの返信メッセージの転送メッセージを作成し、宛先をBatch Adminにします。
4       [編集]>[置換]を選択して、表示のプロパティを適用させる会議室のパスに置換します。
サーバがこのコマンドを処理すると、この会議室には元の会議室と同じ表示のプロパティが適用されます。
表示のプロパティは、パスを変更すればユーザのデスクトップに適用させることもできます。例えば、同じ表示のプロパティをSusan(ユーザID sbram)のデスクトップに適用させるには、パスを以下のように変更します。
PUT "private conference:employee lounge"
から以下に変更
PUT DESKTOP sbram ""
引用符は、デスクトップのパスを表しています。
関連するコマンド
SNAPSHOTコマンドを利用するには、REPLYコマンドが必要です。EXPORTコマンドを利用すると、コンテナの表示のプロパティも返されます。




VAR
ローカル変数を宣言します。スクリプト内で使用する変数を作成できます。多くの場合、VARコマンドは変数の値を格納するためにASSIGNコマンドとともに使用します。
VARの構文
・       文字列変数または数値変数を宣言する場合
        VAR VarName = 値
・       現在の日付に関連する変数を宣言する場合
VAR VarName nDays +d
パラメータ
VarName この変数の名前です。最大半角50文字です。VarNameはスクリプト内で固有にする必要があります。
=       数値変数の場合に必要です。文字列変数の場合は省略可能です。
Value   フィールドの初期値です。数値変数の場合に必要です。文字列変数の場合は省略可能です。
nDays   省略可能です。+dオプションを記述する場合にのみ使用します。
+d      日付変数を作成します。
Operations      + - * /
ASSIGN
VARコマンドで作成した宣言済みのローカル変数を使用する場合に定義します。
構文
・       変数をローカルフォームに割り当てる場合
ASSIGN VarName FIELD TargetField FieldType
・       変数を特別なフォームに割り当てる場合
ASSIGN VarName FORMFIELD path TargetField FieldType
パラメータ
VarName 宣言済みの変数の名前を入力します。コマンド名やキーワードを使用しないでください。
FIELD   スクリプトで使用する変数をメッセージに割り当てます。バッチ管理スクリプトを実行するアプリケーションルールにも適用されます。
FORMFIELD path  特別なフォーム上のフィールドを、そのフォームへのパスとともに記述します。
TargetField     フィールドIDです。このフィールドIDは1001以上にしてください。
FieldType       0 = 文字列
        6 = チェックボックス
        7 = 短整数値
        14 = 長整数値
コマンド例の一覧
        数値
        文字列値
        文字列値の連結
        カウンタの作成
        SETBASEの例
関連コマンドとルール動作
VARコマンドとASSIGNコマンドは、フィールド値を取得する他の方法を補完するものです。カスタムフォームを作成し、フィールド置換によってスクリプト内でフィールド番号を参照できます。
アプリケーションルールの[バッチ管理スクリプトを実行する]スクリプトを使用して、セッションデータにアクセスできます。これにより、現在のユーザ名、クライアントID、ユーザID、第一組織単位、現在の日付、および現在の時刻に対して定義済み変数を使用できます。
アプリケーションルールの[確認メッセージを表示する]動作でそのフィールドデータを保持し、確認フォームに入力します。デフォルトの確認フォームには名前フィールドしかありませんが、アプリケーション開発者は、そのアプリケーションに必要なフィールドを含むカスタムフィールドを作成できます。
詳細は、ENABLEFIELDSUBSTITUTIONを参照してください。
フィールドとフィールドタイプについて
ASSIGNコマンドは、フィールドタイプ(0、6、7、14)を記述するのに必要です。サーバはフォーム上にあるフィールドの種類を認識しないため、任意のフィールドIDとフィールドタイプを定義することが可能です。フィールドデータを保持するだけなので、フォームを更新する必要はありません。
FirstClassデザイナーで作成したフィールドには、定義済みのフィールドタイプがあります。
文字列 英数字の値を含めることができます。FirstClassデザイナーでは、ガイドテキスト、編集可能テキスト、および選択リスト(入力可)は文字列だけを保持します。文字列フィールドはすべてフィールドタイプが0となります。
数値 数字フィールドには3つの種類があります。
選択リスト(入力不可)、数値アイコン、またはラジオボタンを作成するときには、短整数値が保持されます。これらのフィールドは、フィールドタイプが7となります。
データフィールドには、長整数値が保持されます。長整数値は、フィールドタイプが14となります。ほとんどの場合、FirstClassではシステム用フォームの7と14は区別なく使用されます。
チェックボックスは、フィールドタイプが6となります。デフォルトでは、チェックボックスには0、1、2の3つの値がありますが、FirstClassデザイナーでは最大10種類の異なる状態をチェックボックスでサポートしています。チェックボックスに4種類以上の番号を保持する場合は、追加する状態を表示するようにフォームが設定されていることを確認する必要があります。
次の例は、有効な数値変数です。
数値変数を42に設定するには、以下の手順に従ってください。
1//RegionCodeという名の数値変数を初期化する
VAR RegionCode = 42
フォーム上のフィールドから変数の値を取得します。数値フィールドのIDは8067で、[Region Codes]フォームは[Projects Application]フォルダ内にあります。
1//RegionCodeという名の数値変数を初期化する
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定する
RegionCode = FORMFIELD "FirstClass applications:projects application:region codes" 8067
スクリプトフォームを実行する場合は、FIELDキーワードを使用します。スクリプトを実行するルールは、[Projects Application]フォルダ内のドキュメントに記述されています。このドキュメントは「Close Project」という名前です。
//Regionという名の数値変数を初期化する
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定する
RegionCode = field "FirstClass applications:projects application:close project" 8067
次の例は、有効な文字列変数です。
//初期値がない文字列変数を定義する
VAR RegionName
//初期値がSheffieldの文字列変数を定義する
VAR RegionName = "Sheffield"
VARとIFの例
長く複雑なアプリケーションインストールスクリプトを使用する場合は、VARを使用すると、変数を調整するだけでスクリプトの動作を変えることができるので便利です。スクリプトは、主要なセクションで変数の値をチェックし、その結果に基づいてコマンドを実行するように記述します。
//変数が1の場合に、[Projects]アプリケーションをインストールする
VAR Project = 1
//変数が1の場合に、CRMアプリケーションをインストールする
VAR management = 1

IF Project == 1
//小規模または大規模なコマンドセットを実行し、
[Install the Projects]アプリケーションを記述する
ENDIF

IF CRM == 1
//小規模または大規模なコマンドセットを実行し、
[Install CRM]アプリケーションを記述する
ENDIF
[Project]アプリケーションのみをインストールする場合は、次のように書き換えます。
IF management == 1 to IF management == 0
その後、スクリプトを実行してください。
VARの値は、IFコマンドでも設定できます。例えば、オブジェクトが存在する場合はVARの値を1に、見つからない場合は0に設定するには、以下のように記述します。
IF OBJECT "FirstClass applications:projects application" MISSING
VAR Project = 0
Write +c Installing Projects Application
ELSE
VAR Project = 1
Write +c Upgrading Projects Application
ENDIF
VAR、ASSIGN、およびENABLEFIELDSUBSTITUTIONの例
RegionCodeを42に設定し、変数の値を[Region Codes]ドキュメントに記述するには、以下のように記述します。
1//RegionCodeという名の数値変数を初期化する
VAR RegionCode = 42
ASSIGN RegionCode FORMFIELD "FirstClass Applications:Projects Application:Region Codes" 8067 7
RegionCodeを42に設定し、Batch Admin宛に送信するメッセージのフィールドID1001にその値を保存するには、以下のように記述します。サーバコンソールにフィールドID1001の内容を記述するには、ENABLEFIELDSUBSTITUTIONを使用します。
1//RegionCodeという名の数値変数を初期化する
VAR RegionCode = 42
ASSIGN RegionCode FIELD 1001 7
ENABLEFIELDSUBSTITUTION
WRITE +c #1001
メッセージがBatch Admin宛に送信されると、そのメッセージフォームのフィールド1001には42の値が記述されます。サーバはフォーム上にあるフィールドの種類を認識しないため、フィールドがフォーム上に存在しない場合でも、FIELDパラメータを使用してフィールドに値を代入できます。ローカルフォームに値を一度割り当てれば、任意の有効なコマンドを使用できます。
フォーム上のフィールドから変数の値を取得します。数値フィールドのIDは8067で、[Region Codes]ドキュメントは[Projects Application]フォルダ内にあります。スクリプトの作成やトラブルシューティングを行う場合は、サーバコンソールに値が表示されるようにすると便利です。REPLYコマンドをスクリプトに追加すれば、有効な変数を含むメッセージが送信されます。
1//RegionCodeという名の数値変数を初期化する
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定する
RegionCode = FORMFIELD "FirstClass applications:projects application:region codes" 8067
ASSIGN RegionCode FIELD 1001 7
ENABLEFIELDSUBSTITUTION
WRITE #1001
06092010_122716_1.png注意
文字列フィールドの内容を他のフィールドに割り当てる機能はサポートされていないため、実行できません。
フォーム上のフィールドから変数の値を取得し、2番目のドキュメントに割り当てます。この場合、フィールドIDが異なる可能性があります。そのため、フィールドタイプを伝える必要があります。数値フィールドのIDは8067で、フィールドタイプは7です。[Region Codes]フォームは[Projects Application]フォルダ内にあります。変数の値は、Targetという他のドキュメントに割り当てます。
1//RegionCodeという名の数値変数を初期化する
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定する
RegionCode = FORMFIELD "FirstClass applications:projects application:region codes" 8067
ASSIGN RegionCode FORMFIELD "FirstClass applications:projects application:target" 8066 7
次のコマンドも同じタスクを実行しますが、ENABLEFIELDSUBSTITUTIONとPUTコマンドを使用します。
1//RegionCodeという名の数値変数を初期化する
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定する
RegionCode = FORMFIELD "FirstClass applications:projects application:region codes" 8067
ASSIGN RegionCode FIELD 1001 7
ENABLEFIELDSUBSTITUTION
PUT "FirstClass applications:projects application:target" 8066 7 #1001
ローカルフォームに値を一度割り当てれば、任意のコマンドを使用できます。
カウンタの作成
新しいプロジェクトを作成すると、そのプロジェクトにはプロジェクトコードが割り当てられます。[Projects]アプリケーション内には、数値を保存するカスタムフィールドを持つ[Project Code]ドキュメントがあります。アプリケーション開発者が、フィールドID12215を選択したとします。このスクリプトを初めて実行すると、1001という名のフォルダが作成されます。このスクリプトを二度目に実行すると、1002という名のフォルダが作成されます。
//初期値を作成してProjectCodeという名の変数に設定する
VAR ProjectCode = 0
//フォームから現在のカウンタ値を取得する
ProjectCode = ProjectCode + FORMFIELD "FirstClass applications:projects application:project code" 12215

//ProjectCode変数を1増やす
ProjectCode = ProjectCode + 1

//新しい値を[ProjectCode]ドキュメントに入力する
ASSIGN ProjectCode FORMFIELD "FirstClass applications:projects application:project code" 12215 7

ENABLEFIELDSUBSTITUTION
ASSIGN ProjectCode FIELD 1001 0

//プロジェクトコードに基づいて新しいフォルダを作成する
NEW "FirstClass applications:projects application" "#1001" "" FOLDER 24043 -1 -1
例えば、Susanが自分の[My Projects]フォルダ内に[Project Preferences]ドキュメントを保存しているとします。新しいプロジェクトを作成するのに、Susanはスクリプトを実行するアプリケーションルールを使用します。以下のスクリプトは、アイコンIDの値を参照し、新しいプロジェクトフォルダのアイコンとして使用する部分です。
ENABLEFIELDSUBSTITUTION

//ルールを実行するユーザのデスクトップからのパスを設定する
SETBASE +USER

//このコマンドで、DESKTOP <userID>の代わりにRELATIVEキーワードを使用できるようにする
SETRELATIVE FROMBASE ""

//数値を定義する
VAR ProjectIcon = 0

//[Project Preferences]フォームからアイコンフィールドの値を取得する。アイコンのフィールドIDは12209
//この場合、RELATIVEはDESKTOP sbramと同じ

ProjectIcon = ProjectIcon + FORMFIELD RELATIVE "My Projects:Project Preferences" 12209

//[ProjectIcon]をローカルフィールドに割り当てる。アイコンフィールドはフィールドタイプ7
ASSIGN ProjectIcon FIELD 1009 7

//次の行を非コメント化し、サーバコンソールにフィールド1009の値を表示する
//+cを記述すると、アイコン番号1009を持つフォルダが作成される

//新しいプロジェクトフォルダを作成するには、ProjectIconを使用する
NEW RELATIVE "My Projects" "Project Highland" "" FOLDER #1009 -1 -1 +p
データの例
VARコマンドには、現在の日付に関連した日付文字列を取得するオプションがあります。
以下は、アプリケーションインストールスクリプトでインストールの日付を記録する例です。
//今日の日付を保持する文字列値を作成する
VAR Today +D

//今日の日付をフォームのフィールド8021に入力する
ASSIGN Today FORMFIELD "FirstClass applications:projects application:Project Preferences" 8021 0
今から7日後の日付を取得するには、以下のように入力します。
//今日から1週間後の日付を保持する文字列値を作成する
VAR NxtWeek 7 +D
/
//これから1週間後の日付をフォームのフィールド8021に入力する
ASSIGN NxtWeek FORMFIELD "FirstClass applications:projects application:Project Preferences" 8021 0
今から7日前の日付を取得するには、以下のように入力します。
//1週間前の日付を保持する文字列値を作成する
VAR LstWeek -7 +D

//これから1週間前の日付をフォームのフィールド8021に入力する
ASSIGN LstWeek FORMFIELD "FirstClass applications:projects application:Project Preferences" 8021 0
数値の操作
2つの変数を追加して、その結果をサーバコンソールに表示するには、以下のように入力します。
VAR PRICE = 100
VAR SHIPPING = 10
VAR TOTAL = 0

TOTAL = PRICE + SHIPPING

ASSIGN PRICE FIELD 1000 7
ASSIGN SHIPPING FIELD 1001 7
ASSIGN TOTAL FIELD 1002 7

ENABLEFIELDSUBSTITUTION
WRITE
WRITE PRICE IS SET TO #1000
WRITE
WRITE SHIPPING IS SET TO #1001
WRITE
WRITE TOTAL IS SET TO #1002
WRITE
結合文字列
2つの文字列を結合するには、以下のように入力します。
VAR Greeting = Dear
VAR Name = " Ms Bram
Greeting = Greeting + Name

ASSIGN Greeting FIELD 1001 0

ENABLEFIELDSUBSTITUTION
WRITE The greeting is #1001
ユーザがスクリプトを実行する手動アプリケーションルールを実行する場合は、セッションデータを利用できます。ENABLEFIELDSUBSTITUTIONコマンドを最初のフィールド置換(#7100)の前に入力します。このスクリプトは、完全フォーマット名の変数を使用してグリーティングを作成します。このスクリプト例では、グリーティング変数をDear Susan Bramとしています。

ENABLEFIELDSUBSTITUTION
VAR Greeting = Dear
Greeting = Greeting + " #7100:"

ASSIGN Greeting FIELD 1001 0

WRITE The greeting is #1001
SETBASEの例
アプリケーションがFirstClassアプリケーション内の[アプリケーション設定]フォームに登録されている場合は、SETBASE +APP <appNumber>コマンドを使用できます。例えば、[Projects]アプリケーションがアプリケーション番号4001で登録されている場合には、以下のコマンドを入力します。
ASSIGN ProjectCode FORMFIELD "FirstClass applications:projects application:project code" 12215 14
また、次のように書きなおすこともできます。
SETBASE +APP 4001
ASSIGN ProjectCode FORMFIELD RELATIVE "project code" 12215 7
アプリケーションルールの[バッチ管理スクリプトを実行する]を動作させる場合は、SETBASE +USERコマンドを現在のユーザのデスクトップから使用できます。

//数値を定義する
VAR ProjectIcon = 0

//[Project Preferences]フォームからアイコンフィールドの値を取得する。アイコンのフィールドIDは12209
ProjectIcon = ProjectIcon + FORMFIELD desktop sbram "My Projects:Project Preferences" 12209
また、次のように書きなおすこともできます。

//ルールを実行するユーザのデスクトップからのパスを設定する
SETBASE +USER
//このコマンドで、DESKTOP <user>の代わりにRELATIVEキーワードを使用できるようにする
SETRELATIVE FROMBASE ""

//数値を定義する
VAR ProjectIcon = 0

//[Project Preferences]フォームからアイコンフィールドの値を取得する。アイコンのフィールドIDは12209
ProjectIcon = ProjectIcon + FORMFIELD RELATIVE "My Projects:Project Preferences" 12209



UPLOAD
会議室やフォルダにファイルをアップロードします。UPLOADコマンドはNEWコマンドと組み合わせて使用する必要があります。パスの各要素はコロンで区切ってください。PATHCHARコマンドを使用すると、デフォルトのパス文字を変更できます。
構文
UPLOAD path filename +b
パラメータ
path    オブジェクトの位置です。管理者デスクトップからの相対位置で指定します。
DESKTOP userID path     コンテナの場所で、ユーザのデスクトップからの相対位置で指定します。
filename        ファイル名です。拡張子を記述して指定します。
+b      FCNS\Server\Batchフォルダ内のファイルをアップロードします。
NEWコマンドとUPLOADコマンドの両方を使用する必要があります。また、アップロードするファイルを、コマンドを記述したメッセージに添付する必要があります。フォームIDパラメータは必要ありません。例えば、[Employee Lounge]会議室内にstaff setting.fcファイルをアップロードするには、以下のように入力します。
NEW "General Conferences:employee lounge" "staff settings.fc" "" FCF 17044 -1 -1
UPLOAD "General Conferences:employee lounge:staff settings.fc" "staff settings.fc"

リソースファイルをユーザグループの[Rules & Resources]フォルダにアップロードするには、以下のように入力します。
NEW MODEL "Employees" "" "staff settings.fc" "" FCF 17044 -1 -1 +X
UPLOAD PREVIOUS "staff settings.fc"
COMPILE MODEL "Employees"
06092010_122716_1.png注意
リソースファイルをグループの[Rules & Resources]フォルダにアップロードする場合は、グループ名の後に必ず空の引用符の組(””)を記述しなければなりません。
関連するコマンド
UPDATEコマンドを使用すると、FirstClassの設定ファイルを結合できます。



WRITE
バッチコマンドの返信メッセージとして管理者のメールボックスに返される内容を指定します。
構文
WRITE +ct text
パラメータ
+c      省略可能です。テキストをサーバコンソールに出力します。
+t      省略可能です。タイムスタンプを出力します。
text    最大半角250文字です。
会議室の作成するためにREPLYコマンドとNEWコマンドを実行したときに、会議室が正しく作成されなかった場合にだけFirstClassが返信メッセージを返すようにします。ただし、スクリプトの処理が完了したことを知らせるメッセージが返されるようにすることもできます。このように設定するには、以下のように入力します。
REPLY
NEW "General Conferences:Employee Lounge" "" CONFERENCE 13107 10 10
WRITE Command completed.
複雑な条件のスクリプトを記述する場合は、IFコマンドが予期した結果を返すかどうかをあらかじめ確認しておくとよいでしょう。
以下のスクリプトを実行すると、[Employee Lounge]会議室がGeneral Conferences内に存在するかどうかを確認し、TrueかFalseを含むメッセージが返されます。
IF OBJECT "General Conferences:Employee Lounge" EXISTS
WRITE True
ELSE
WRITE False
ENDIF
この単純な作業を行うことで、スクリプトのデバッグ時にIFコマンドの誤りを見つけて削除できるようになります。この例では、Falseが返されたら、構文か表示されたエラーを調べてください。


 

Copyright(C) 2002-2012 FC Management Co. All Rights Reserved