Logon / Startup Script Scan Setup (登录/启动脚本扫描设置)
通过在可以集中访问的位置安装和配置 Autodesk Inventory Tool,可将其作为用户登录脚本或设备启动脚本的一部分运行。在此模式下,AIT 将清点本地设备并将结果保存到一个中央位置(每个设备一个数据存储文件)。然后,可以将这些单独的设备数据存储导入 AIT 实例中。AIT 将仅在尚未扫描设备或应重新扫描的情况下清点设备。
这样做的好处是:它不受设备防火墙限制,而且将利用本地已登录用户的凭据运行。 这需要在将运行 AIT 的每个设备上安装 Microsoft .NET Framework v4.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 应用程序的只读权限以及对 Data 文件夹的读/写权限,从而让用户在登录时可以创建和更新数据存储文件。
\\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:设置为共享文件夹中的 Data 文件夹的 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>
在远程计算机中,从共享文件夹中的 AIT 应用程序文件夹运行 AIT(使用参数“/c localhost /fp /lu /rp /sl”),以扫描本地计算机,例如:
<p>\\SERVER01\AIT\AIT.exe /c localhost /fp /lu /rp /sl</p>
确认它正确运行并将结果保存在共享文件夹中的 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”(Profile),以将该脚本推广到所有相关用户;也可以通过组策略推广该脚本。下面提供了有关使用组策略的说明。
打开“组策略管理”(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) 树中,在上面选择的域或 OU 下找到新 GPO,右键单击它,然后选择“编辑”(Edit)
现在,您需要确定是要使用登录脚本还是要使用启动脚本:
- 如果最终用户具有其本地 PC 的管理权限,请使用登录脚本
- 如果最终用户没有其本地 PC 的管理权限,请使用启动脚本
在“组策略管理编辑器”(Group Policy Management Editor)中,导航到“用户配置”(User Configuration) >“策略”(Policies) >“Windows 设置”(Windows Settings) >“脚本(登录/注销)”(Scripts (Logon/Logoff)),然后在右侧窗格中双击“登录”(Logon)
在“登录属性”(Logon Properties) 窗口中,单击“显示文件...”(Show Files...)
将 AIT_Network.cmd 批处理脚本复制到该文件夹并关闭窗口
在“登录属性”(Logon Properties) 窗口中,单击“添加...”(Add...)
单击“浏览”(Browse) 以打开登录脚本目录,选择 AIT_Network.cmd 批处理脚本,然后单击“确定”(OK)
确认脚本现在显示在“登录属性”(Logon Properties) 窗口的列表中,然后单击“确定”(OK)
关闭 GPO 的“组策略管理编辑器”(Group Policy Management Editor) 窗口,然后关闭“组策略管理”(Group Policy Management) 窗口
在“组策略管理编辑器”(Group Policy Management Editor) 中,导航到“计算机配置”(Computer Configuration) >“策略”(Policies) >“Windows 设置”(Windows Settings) >“脚本(启动/关机)”(Scripts (Startup/Shutdown)),然后双击右侧窗格中的“启动”(Startup)
在“启动属性”(Startup Properties) 窗口中,单击“显示文件...”(Show Files...)
将 AIT_Network.cmd 批处理脚本复制到该文件夹并关闭窗口
在“启动属性”(Startup Properties) 窗口中,单击“添加...”(Add...)
单击“浏览”(Browse) 以打开启动脚本目录,选择 AIT_Network.cmd 批处理脚本,然后单击“确定”(OK)
确认脚本现在显示在“启动属性”(Startup Properties) 窗口的列表中,然后单击“确定”(OK)
关闭 GPO 的“组策略管理编辑器”(Group Policy Management Editor) 窗口,然后关闭“组策略管理”(Group Policy Management) 窗口
清点了所有 PC 后,双击桌面上的 Autodesk Inventory Tool 快捷方式,然后导入 Data 共享文件夹中的结果(使用导入数据存储部分中提供的步骤)。