Sun Java System Calendar Server 6.3 管理指南

15.6 管理使用者行事曆

本小節說明如何使用 Calendar Server 公用程式 D.5 cscal 管理使用者行事曆。

本小節包含以下管理工作:

15.6.1 顯示行事曆

若要顯示所有行事曆、某位使用者擁有的所有行事曆,或特定行事曆的特性,請使用 cscal 公用程式的 list 指令。

以下範例示範使用 cscal 執行的三個不同工作。

15.6.2 刪除行事曆

若要從 Calendar Server 中刪除一個或多個行事曆,請使用 cscal 公用程式的 delete 指令。此公用程式會刪除行事曆,但不會從目錄伺服器中刪除使用者。

以下兩個範例示範使用 cscal delete 可完成的不同工作:


注意 – 注意 –

delete 指令會從行事曆資料庫中移除所有行事曆資訊,並且無法還原。刪除某個行事曆後,僅當您曾備份該行事曆資料時才可回復該資料。如需更多資訊,請參閱第 17 章, 備份與復原 Calendar Server 資料


15.6.3 移除已刪除使用者的行事曆

使用 Calendar Server 公用程式指令 csuser delete 或 Delegated Administrator 主控台或公用程式刪除一個或多個使用者後,該使用者所擁有的行事曆可能仍在資料庫中。

有兩種方法可移除使用者的行事曆。使用何種方法取決於刪除使用者時所使用的工具︰

Calendar Server 公用程式 csuser

csuser 公用程式可移除 LDAP 目錄中的使用者及其預設行事曆,但不移除該使用者可能擁有的其他任何行事曆。如需如何使用 cscal 來移除這些行事曆的說明,請參閱在 Calendar Server 版本 6.3 中移除以 csuser 刪除之使用者的所有行事曆

Delegated Administrator 主控台及公用程式

Delegated Administrator 不會移除任何行事曆。請使用 Delegated Administrator 標記要刪除的使用者,然後使用 Calendar Server 公用程式 csclean 移除標記為刪除的使用者的行事曆。

如需有關如何使用 csclean 移除已刪除使用者的行事曆的說明,請參閱移除由 Delegated Administrator 刪除之使用者的所有行事曆

如需有關使用 Delegated Administrator 公用程式的說明,請參閱「Sun Java System Communications Services 6 2005Q4 Delegated Administrator Guide」

如需有關使用 Delegated Administrator 主控台的說明,請參閱線上說明。

Procedure在 Calendar Server 版本 6.3 中移除以 csuser 刪除之使用者的所有行事曆

  1. 執行 cscal list 指令,以找到已刪除所有者之 uid 對應的所有行事曆。

    cscal -o owner list

  2. 使用 cscal 指令移除該所有者的所有行事曆。

    cscal -o owner delete

  3. 再次執行 csuser list,以驗證是否已移除所有行事曆。


    備註 –

    如果已使用 commadmin 將使用者標記為刪除,且使用者的 LDAP 項目已清除,則使用此程序。


Procedure移除由 Delegated Administrator 刪除之使用者的所有行事曆

Delegated Administrator 不會移除行事曆。請使用 csclean 公用程式移除使用 Delegated Administrator 標記為刪除的所有使用者的全部行事曆。

  1. 請使用 csclean 移除標記為刪除但尚未清除之使用者的所有行事曆。

    例如,若要移除過去 10 天內 sesta.com 網域中標記為刪除的使用者的所有行事曆,請使用以下指令︰

    csclean -g 10 clean sesta.com

  2. 如果使用者已從 LDAP 中清除,則必須使用 cscal

    如需說明,請參閱在 Calendar Server 版本 6.3 中移除以 csuser 刪除之使用者的所有行事曆

15.6.4 啟用行事曆

若要允許使用者存取其行事曆,必須先使用 cscal enable 指令啟用行事曆。

下列範例示範如何啟用行事曆:

15.6.5 停用行事曆

若要防止使用者存取行事曆,請使用 cscal 公用程式的 disable 指令。disable 指令可防止使用者存取行事曆,但不會從行事曆資料庫中移除資訊。

例如,若要防止使用者存取 jsmith@sesta.com:meetings,請使用下列指令:

cscal disable jsmith@sesta.com:meetings

15.6.6 修改行事曆特性

若要修改行事曆的特性,請使用 cscal 公用程式的 modify 指令。

例如,變更 AllAdmins 的群組排程存取控制設定,並將 RJones@sesta.com 指定為另一位所有者:

cscal -a "@@o^c^wd^g" -y RJones@sesta.com modify AllAdmins

以下說明上一個範例所使用的兩個指令變數:

15.6.7 從行事曆中移除特性

若要從行事曆移除特性值,請使用 cscal modify 指令,並使用兩個雙引號 ("") 指定選項值。

以下三個範例顯示如何移除不同的特性:

15.6.8 回復「遺失的」預設行事曆

若在 Communications Express 使用者介面用戶端看不到使用者的預設行事曆,但該行事曆仍存在於資料庫中,則您可以復原行事曆,並更新使用者的 LDAP 項目的兩個屬性以使行事曆再次可見。

若要回復行事曆,請確定使用者的 LDAP 項目中的下列屬性值為使用者的完全合格 calid

對於 Schema 2,請使用以下方法之一更新屬性:

對於 Schema 1,請使用 csattribute add 指令更新屬性。

Procedure將使用者行事曆移至其他後端伺服器

若要將使用者行事曆從一台後端伺服器移至另一台後端伺服器,請執行以下步驟:

  1. 在原始伺服器上,使用D.19 csuser公用程式停用行事曆使用者。例如,停用使用者 ID 和 calidbkamdar 的使用者:

    csuser disable bkamdar

  2. 在原始伺服器上,使用D.10 csexport公用程式將使用者的每個行事曆從行事曆資料庫匯出至檔案。例如:

    csexport -c bkamdar calendar bkamdar.ics

  3. 將匯出的行事曆 (*.ics) 檔案從原始伺服器複製到新伺服器中。

  4. 在新伺服器上,使用D.11 csimport公用程式將每個匯出的行事曆從檔案匯入行事曆資料庫。例如:

    csimport -c bkamdar calendar bkamdar.ics

  5. 在 LDAP 目錄伺服器上,使用D.3 csattribute公用程式更新行事曆所有者的 icsDWPHost LDAP 屬性,以指向新的後端伺服器。若要更新某個屬性,必須先刪除該屬性,然後使用新值增加該屬性。例如,將新伺服器名稱設定為 sesta.com


    csattribute -a icsDWPHost delete bkamdar
     csattribute -a icsDWPHost=sesta.com add bkamdar
  6. 在新伺服器上,使用使用者行事曆的D.19 csuser公用程式啟用行事曆使用者。例如:

    csuser enable bkamdar

  7. 在新伺服器上,使用以下指令驗證這些屬性是否正確以及每個行事曆的移動是否正確。例如:


    cscal -v -o bkamdar list bkamdar
     ...
     csattribute -v list bkamdar
  8. 在原始伺服器上,刪除您剛移動的所有行事曆。例如:

    cscal -o bkamdar delete bkamdar

    -o 選項會刪除主要所有者為 bkamdar 的所有行事曆。


    備註 –

    如果您使用的是 CLD 快取記憶體選項,將行事曆移至其他後端伺服器之後,則應清除 CLD 快取記憶體,以移除伺服器名稱。CLD 快取記憶體中的過期項目會導致行事曆移動後,前端伺服器無法找到該行事曆。

    若要清除 CLD 快取記憶體,請執行以下步驟:

    • 停止 Calendar Server。

    • 移除 /var/opt/SUNWics5/csdb/cld_cache 目錄中的所有檔案,但請勿移除 cld_cache 目錄本身。

    • 重新啟動 Calendar Server。