Logon / Startup Script Scan Setup (登入/啟動指令碼掃瞄設置)
只要在可集中存取的位置安裝和規劃 Autodesk Inventory Tool,便可將其做為使用者登入指令碼或裝置啟動指令碼的一部分執行。在此模式中,AIT 將盤點本機裝置,並將結果儲存至集中位置,其中每個裝置使用一個資料存放區檔案。然後,便可將這些個別裝置資料存放區匯入至 AIT 的例證。僅當裝置尚未掃瞄或到時間重新掃瞄時,AIT 才會盤點裝置。
此模式的優點在於,不受裝置防火牆限制,而且使用本機登入使用者的認證即可執行。 必須在將執行 AIT 的每部裝置上安裝 Microsoft .NET Framework 4.5.2 或更高版本,才能採用此模式。
下文說明如何部署 AIT,以透過登入指令碼執行網路盤點掃瞄。其中介紹小型環境的基本設置,大型多站台網路可能需要進行進一步的規劃。
在可集中存取的伺服器上,建立一個資料夾用於存放 AIT,並建立另一個資料夾用於存放收集的資料,例如:
- C:\AIT:將共用的根資料夾 (唯讀)
- C:\AIT\AIT:用於存放 AIT 應用程式檔案的資料夾 (唯讀)
- C:\AIT\Data:用於存放所收集資料檔案的資料夾 (讀取和寫入)
設定根資料夾的權限,以便 Authenticated Users 群組擁有讀取和執行 (Read & execute)、列出資料夾內容 (List folder contents) 和讀取 (Read) 權限,並套用至子資料夾和檔案:
設定 Data 資料夾的權限,以便 Authenticated Users 群組擁有修改 (Modify)、讀取和執行 (Read & execute)、列出資料夾內容 (List folder contents)、讀取 (Read) 和寫入 (Write) 權限:
共用根資料夾,將 Authenticated Users 加入至共用權限,並授予該群組變更 (Change) 和讀取 (Read) 權限:
與資料夾權限結合後,將授予已驗證使用者對共用資料夾和 AIT 應用程式的唯讀權限,以及對資料資料夾的讀取/寫入權限,以便在使用者登入時建立和更新資料存放區檔案。
\\SERVER01\AIT 共用根資料夾的唯讀存取權
\\SERVER01\AIT\AIT 共用 AIT 應用程式資料夾的唯讀存取權
\\SERVER01\AIT\Data 共用 Data 資料夾的讀取/寫入存取權
將 Autodesk Inventory Tool 資料夾的內容從 C:\Program Files (x86)\Autodesk\Autodesk Inventory Tool\ 複製到共用的 C:\AIT\AIT 資料夾:
複製完成後,資料夾中應該恰好有 51 個檔案。
使用「記事本」之類的文字編輯器,編輯 AIT 資料夾中的 AIT.exe.config 檔案,並進行下列變更:
- DataStorePath:設定為共用資料夾中資料資料夾的 UNC 路徑,確保結尾是「\」。
- PerComputerDataStore:設定為 True,以便執行 ScanWin 的每部裝置都會儲存到 DataStorePath 中的單獨資料存放區。
例如:
<setting name="DataStorePath" serializeAs="String">
<value>\\SERVER01\AIT\Data\</value>
</setting>
<setting name="PerComputerDataStore" serializeAs="String">
<value>True</value>
</setting>
從遠端電腦,使用參數 /c localhost /fp /lu /rp /sl 從共用資料夾中的 AIT 應用程式資料夾執行 AIT,以掃瞄本機電腦,例如:
<p>\\SERVER01\AIT\AIT.exe /c localhost /fp /lu /rp /sl</p>
確認 ScanWin 已正確執行,並將結果儲存在共用資料中的 Data 資料夾中。如果 Data 資料夾中沒有結果,請確認已正確設定您的權限。
應使用批次檔執行 AIT,該檔案將由登入指令碼呼叫,或本身就是登入指令碼。以下是建議使用的指令碼:
<p>@ECHO OFF
REM Batch script to start Autodesk Inventory Tool to scan the local machine
Title Autodesk Inventory Tool
REM Set the path to the Autodesk Inventory Tool directory share
SET AIT_DIR="\\SERVER01\AIT"
REM Only run if .NET Framework 4.5.2 or later is installed
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.5.2" 2>nul
IF ERRORLEVEL 1 (
GOTO DOTNETNOTINSTALLED
) ELSE (
GOTO DOTNETINSTALLED
)
:DOTNETINSTALLED
REM Execute Autodesk Inventory Tool to perform a scan of the local machine
IF DEFINED COMPUTERNAME (
REM Use the actual computer name when available
START "AIT Local Scan" /B /D "%AIT_DIR%\AIT" "AIT.exe" /c %COMPUTERNAME% /o "%AIT_DIR%\Data\%COMPUTERNAME%" /fp /lu /rp /sl
) ELSE (
REM If not, use localhost to identify the local machine
START "AIT Local Scan" /B /D "%AIT_DIR%\AIT" "AIT.exe" /c localhost /fp /lu /rp /sl
)
EXIT
:DOTNETNOTINSTALLED
REM .NET Framework 4.5.2 is not installed, create a log file to indicate this
IF DEFINED COMPUTERNAME (
ECHO %COMPUTERNAME% does not have .NET Framework 4.5.2 installed > "%AIT_DIR%\Data\%COMPUTERNAME%.LOG"
)
EXIT</p>
可以在此處下載上述指令碼的複本。
必須修改 AIT_DIR 變數,以指向應寫入資料和記錄檔的共用資料夾。例如:
SET AIT_DIR="\\ACMEDC01\AIT"
可以將上述指令碼複製到網域的 NETLOGON 共用資料夾,或置於共用的 AIT 資料夾中。如果複製到網域的 NETLOGON 共用資料夾,請將批次指令碼複製到:
C:\Windows\SYSVOL\sysvol\<網域>\scripts
若要測試做為登入指令碼的一部分執行,請從既有登入指令碼呼叫此批次指令碼;如果目前沒有登入指令碼,則測試使用者需要在其登入指令碼 (Logon script) 欄位中輸入批次指令碼名稱:
測試完畢後,可以使用上述指示修正 Active Directory 使用者及電腦 (Active Directory Users and Computers) 中每位使用者的設定檔 (Profile),來推展至所有相關使用者,或者透過群組原則 (Group Policy) 進行推展。下面包含使用群組原則的指示。
從以下位置開啟群組原則管理 (Group Policy Management) 主控台:控制台 > 系統及安全性 > 系統管理工具 (Control Panel > System and Security > Administrative Tools)
展開 網域 (Domains) 樹狀目錄,在網域或 OU 名稱上按一下右鍵,然後選取在這個網域中建立 GPO 並連結到... (Create a GPO in this domain, and Link it here...)
在新增 GPO (New GPO) 對話方塊中,為 GPO 指定一個描述性名稱,然後按一下確定 (OK)
在網域 (Domains) 樹狀目錄中找到該新 GPO (在您上面選取的網域或 OU 下),在其上按一下右鍵,然後選取編輯 (Edit)
現在,您需要決定要使用登入指令碼 (Logon Script) 還是啟動指令碼 (Startup Script):
- 如果終端使用者擁有其本機 PC 的系統管理權限,請使用登入指令碼
- 如果終端使用者沒有其本機 PC 的系統管理權限,請使用啟動指令碼
在群組原則管理編輯器 (Group Policy Management Editor) 中,導覽至使用者設定 > 原則 > Windows 設定 > 指令碼 (登入/登出) (User Configuration > Policies > Windows Settings > Scripts [Logon/Logoff]),然後在右側窗格中按兩下登入 (Logon)
在登入內容 (Logon Properties) 視窗中,按一下顯示檔案... (Show Files...)
將 AIT_Network.cmd 批次指令碼複製到該資料夾,並關閉視窗
在登入內容 (Logon Properties) 視窗中,按一下新增... (Add...)
按一下瀏覽 (Browse) 以開啟登入指令碼目錄,選取 AIT_Network.cmd 批次指令碼,然後按一下確定 (OK)
確認該指令碼現在顯示在登入內容視窗的清單中,然後按一下確定
關閉 GPO 的群組原則管理編輯器視窗,然後關閉群組原則管理視窗
在群組原則管理編輯器中,導覽至電腦設定 > 原則 > Windows 設定 > 指令碼 (啟動/關機) (Computer Configuration > Policies > Windows Settings > Scripts [Startup/Shutdown]),然後在右側窗格中按兩下啟動 (Startup)
在啟動內容 (Startup Properties) 視窗中,按一下顯示檔案...(Show Files...)
將 AIT_Network.cmd 批次指令碼複製到該資料夾,並關閉視窗
在啟動內容 (Startup Properties) 視窗中,按一下新增...(Add...)
按一下瀏覽 (Browse) 以開啟啟動指令碼目錄,選取 AIT_Network.cmd 批次指令碼,然後按一下確定 (OK)
確認該指令碼現在顯示在啟動內容視窗的清單中,然後按一下確定
關閉 GPO 的群組原則管理編輯器視窗,然後關閉群組原則管理視窗
對所有 PC 進行盤點後,按兩下桌面上的 Autodesk Inventory Tool 捷徑,然後使用〈匯入資料存放區〉一節中包含的步驟,從 Data 共用資料夾匯入結果。