76.8 從庫存資料庫中移除重複的工作站物件

現在,您可以使用 Dupremove 公用程式從庫存資料庫中移除重複的工作站物件。

重複的工作站物件是在庫存資料庫中具有多個項目的工作站。如果庫存資料庫具有重複的工作站物件,則不僅會導致浪費資料庫空間,還會導致庫存 ConsoleOne 公用程式 (例如,「查詢」、「摘要」、「庫存報告」與「資料輸出」) 報告重複的資訊。

以下各節提供了有關如何使用 Dupremove 公用程式的更多資訊:

76.8.1 執行 Dupremove 公用程式

  1. 停止庫存服務。如需更多資訊,請參閱節 73.1.5, 啟動與停止庫存服務

  2. 確定資料庫伺服器已啟動並且正在執行。

  3. 執行 Dupremove 公用程式。

    • 在 NetWare 庫存伺服器上:

      編輯 sys:\system\dupremove.ncf 以設定所需參數。請參閱 dupremove.ncf,以取得有關設定參數的資訊。如需有關參數的詳細資訊,請參閱節 76.8.2, 瞭解 Dupremove 參數

      編輯該檔案後,請移至 sys:\system,並在庫存伺服器系統主控台提示下輸入 dupremove

    • 在 Windows 庫存伺服器上:

      編輯 Inventory_server_installation_directory\zenworks\inv\server\wminv\bin\dupremove.bat 以設定所需參數。請參閱 dupremove.bat,以取得有關設定參數的資訊。如需有關參數的詳細資訊,請參閱節 76.8.2, 瞭解 Dupremove 參數

      編輯該檔案後,請移至 Inventory_server_installation_directory\zenworks\inv\server\wminv\bin,並在庫存伺服器「命令提示字元」視窗中輸入 dupremove

    • 在 Linux 庫存伺服器上:

      編輯 /opt/novell/bin/dupremove 以設定所需參數。請參閱 dupremove,以取得有關設定參數的資訊。如需有關參數的詳細資訊,請參閱節 76.8.2, 瞭解 Dupremove 參數

      編輯該檔案後,請移至 /opt/novell/bin,並在庫存伺服器指令提示下輸入 ./dupremove

    重要:dupremove.ncf、dupremove.bat dupremove 檔案中,您必須使用雙引號將參數括起來,並且雙引號內不應有空格。例如,“-dbtype=1”。

    如果指定了錯誤參數,或雙引號內有空格,則 Dupremove 公用程式將不斷地重試。

    若要在 NetWare 庫存伺服器上停止此程序,您必須先透過在伺服器提示下輸入 java -show 取得 Dupremove 公用程式的程序 ID,然後再輸入 java -killDupremove_process_ID

    若要在 Windows 或 Linux 庫存伺服器上停止該程序,請按 Ctrl+C。

  4. 啟動庫存服務。如需更多資訊,請參閱節 73.1.5, 啟動與停止庫存服務

  5. 對所有受影響的工作站物件或向此庫存伺服器傳送庫存資料的所有工作站物件,強制執行完整掃描:

    • 若要對向此庫存伺服器傳送庫存資料的所有工作站物件強制執行完整掃描,請對庫存服務物件強制執行完整掃描。如需更多資訊,請參閱節 73.3, 設定庫存服務物件
    • 對受影響的工作站物件強制執行完整掃描的步驟:
    1. 在 ConsoleOne 中,於工作站物件上按一下滑鼠右鍵,然後按一下「內容」。

    2. 按一下「ZENworks 庫存」索引標籤,然後按一下「工作站掃描組態」次選項。

    3. 選取「啟動完整掃描」。

    4. 按一下「套用」,然後按一下「關閉」。

    5. 針對所有受影響的工作站物件,重複步驟 5.a步驟 5.d

76.8.2 瞭解 Dupremove 參數

-host

指定執行庫存資料庫之伺服器的 IP 位址。

-dbtype

庫存資料庫類型。它可以包括以下任何值:

表 76-2 Dbtype 值清單

執行庫存資料庫的環境

Dbtype 值

Sybase

0

Oracle

1

MS SQL

2

-sid

識別庫存資料庫的服務 ID。需要 -sid 才能連接至 JDBC。它可以包括以下任何值:

表 76-3 sid 值範例

執行庫存資料庫的環境

SID 值範例

Sybase

mgmtdb

Oracle

orcl

MS SQL

mgmtdb

-port

執行庫存資料庫的連接埠號碼。它可以包括以下任何值:

表 76-4 連接埠值範例

執行庫存資料庫的環境

連接埠值範例

Sybase

2638

Oracle

1521

MS SQL

1433

Dupremove 函數

dupremove.batdupremove.ncfdupremove 中,您一次只能使用以下一個 Dupremove 函數:

重要:Dupremove 函數的值區分大小寫。

表 76-5 Dupremove 函數的詳細說明與範例

Dupremove 參數

描述

可能的值/模式類型

範例

-listwsdup

列出在庫存資料庫中具有重複項目的所有工作站。

---

若要列出在 Sybase 庫存資料庫中具有重複項目的所有工作站物件,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator "-host=127.0.0.1" "-listwsdup" "-dbtype=0" "-sid=mgmtdb" "-port=2638"

-listwsdirty

列出掃描資料尚未在庫存資料庫中更新和需要完整掃描的所有工作站。

--

若要列出在 Oracle 庫存資料庫中具有重複項目的所有工作站物件,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator "-host=127.0.0.1" "-listwsdirty" "-dbtype=1" "-sid=orcl" "-port=1521"

-listwspattern

根據您定義的模式,列出工作站物件。

  • 以特定字元或字串開頭的工作站名稱
  • 包含特定字元或字串的工作站名稱
  • 以特定字元或字串結尾的工作站名稱

重要:您必須輸入工作站的已鍵入 DN。

  • 若要列出 DN 以「cn=ws」開頭和在 Sybase 庫存資料庫中具有重複項目的所有工作站物件,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

    java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator"-host=127.0.0.1”"-listwspattern=cn=ws%%""-dbtype=0" "-sid=mgmtdb" "-port=2638"

  • 若要列出 DN 包含「ou=novell」和在 Oracle 庫存資料庫中具有重複項目的所有工作站物件,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

    java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator"-host=127.0.0.1""-listwspattern=%%ou=novell%%""-dbtype=1" "-sid=orcl" "-port=1521"

  • 若要列出 DN 以「T=novell_inc」結尾和在 MS SQL 庫存資料庫中具有重複項目的所有工作站物件,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

    java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator"-host=127.0.0.1""-listwspattern=%%T=novell_inc""-dbtype=2" "sid=mgmtdb" "-port=1433"

-remwsdup

從庫存資料庫中移除工作站物件。

  • * (星號):從在資料庫中具有重複項目的所有工作站物件中移除庫存資訊
  • Typed_DN_of_a_workstation:移除在資料庫中具有重複項目之特定工作站物件的庫存資訊
  • 若要從在 MS SQL 庫存資料庫中具有重複項目的所有工作站物件中移除所有資訊,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

    java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator"-host=127.0.0.1" "-remwsdup=*""-dbtype=2" "-sid=mgmtdb" "-port=1433"

  • 若要從在 Oracle 庫存資料庫中具有一個重複項目的一個工作站物件中移除所有資訊,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

    java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator"-host=127.0.0.1""-remwsdup=ws.novell.novell_inc""-dbtype=1" "-sid=orcl" "-port=1521"

-remwspattern

根據您定義的模式,移除工作站物件。

  • 以特定字元或字串開頭的工作站名稱
  • 包含特定字元或字串的工作站名稱
  • 以特定字元或字串結尾的工作站名稱

重要:您必須輸入工作站的已鍵入 DN。

  • 若要移除 DN 以「cn=ws」開頭和在 Sybase 庫存資料庫中具有重複項目的所有工作站物件,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

    java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator"-host=127.0.0.1""-remwspattern=cn=ws%%""-dbtype=0" "-sid=mgmtdb" "-port=2638"

  • 若要移除 DN 包含「ou=novell」和在 Oracle 庫存資料庫中具有重複項目的所有工作站物件,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

    java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator"-host=127.0.0.1""-remwspattern=%%ou=novell%%""-dbtype=1" "sid=orcl" "-port=1521"

  • 若要移除 DN 以「T=novell_inc」結尾和在 MS SQL 庫存資料庫中具有重複項目的所有工作站物件,請在 dupremove.batdupremove.ncfdupremove 中編輯 Java 指令,如下所示:

    java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator"-host=127.0.0.1""-remwspattern=%%T=novell_inc%%""-dbtype=2" "-sid=mgmtdb" "-port=1433"

-remwsfile

移除名稱在檔案中列出的工作站物件。

包含檔名的檔案完整路徑

  • 若要移除在 MS SQL 庫存資料庫中具有重複項目,並且在 c:\windows\wsname.txt 中列出的所有工作站物件:

    java -Djava.compiler= com.novell.zenworks.desktop.inventory.storer.DatabaseOperator"-host=127.0.0.1""-remwsfile=c:\\windows\\wsname.txt" "-dbtype=2" "-sid=mgmtdb""-port=1433"

c:\windows\wsname.txt 的內容如下:

CN=a.OU=b.O=c.T=Novell_inc
CN=ws.OU=novell.T=novell_inc
WS1.novell.novell_inc
WS2.novell.novell_inc

-user

僅當您尚未以預設使用者 (mw_dba) 身份登入庫存資料庫時,才提供使用者名稱。

-password

提供「-user」參數中指定之使用者的密碼。