简介:面向Teamcenter实施与运维人员的AWC2406安装配置文档,围绕使用Deployment Center完成部署这一典型场景展开,适合需要搭建测试环境、复现安装流程或查漏补缺的初中级工程师参考。压缩包内仅含1个docx文档,整体约4.67MB,内容集中、便于随查随用。文档以要点式记录关键前置条件、界面入口与结果校验,覆盖安装前的主机名与网络设置准备、JDK17.0.3及许可服务和SQL Server2019等基础依赖,也涉及安装介质入库、日志排查、环境创建与软件选择、Active Workspace Client与Gateway、Corporate Server、Database Server等组件的配置顺序,以及部署脚本生成等关键环节,并特别提示数据库与TC密码的符号限制等易错点。已有312人学习下载。读者可借此快速建立AWC2406部署的整体脉络,定位介质添加失败、组件状态未完成、部署包查找等常见问题,作为官方文档之外的速查笔记和排错参考。
1. 某台测试机上的AWC2406安装复盘:Deployment Center把零散动作收成一条链
某实验室的测试机在AWC2406安装时,手工装完JDK、License Server 4和SQL Server 2019后,最容易翻车的不是某个组件装不上,而是Teamcenter Deployment Center这条编排链路没对齐:介质有没有进存储库、环境Env_Tc的组件状态是不是100%、生成的deploy.bat参数有没有带对。它解决的是把零散安装动作收束成可复现脚本的问题,适合要在一台或几台Windows主机上复现AWC2406部署的从业者。下面按我实际踩坑后重走的顺序拆,先把基线打牢,再进存储库、环境、组件和脚本。
2. 装前基线:主机名、hosts、防火墙与JDK17的落点
2.1 主机名与hosts的对照表怎么落地
安装笔记里黑色底纹覆盖的主机名是示例值,落到自己环境要逐台替换,不能直接照抄。主机名一旦进入Deployment Center生成的环境配置,后面再改会牵动License、数据库连接和AWC网关地址,返工成本很高。我一般先画一张角色对照表,把应用机、数据库机、网关机分开,再统一改主机名和hosts。示例可以按下面这种粒度写,IP段用测试环境自己的规划,不要照搬。
| 角色 | 示例主机名 | hosts行示例 | 说明 |
|---|---|---|---|
| 应用与部署中心 | tc-app01 | 10.10.10.21 tc-app01 | 装Deployment Center和TC组件 |
| 数据库 | tc-db01 | 10.10.10.22 tc-db01 | SQL Server 2019实例所在机 |
| AWC网关 | awc-gw01 | 10.10.10.23 awc-gw01 | Active Workspace Gateway |
| Web层 | tc-web01 | 10.10.10.24 tc-web01 | Teamcenter Web Tier |
改主机名用PowerShell最稳,改完必须重启再继续装。下面这段只改名字,不碰域和网络配置;如果机器已经加域,先确认改名不会影响域信任。
# 以管理员身份运行,把 tc-app01 换成规划表中的主机名 Rename-Computer -NewName "tc-app01" -Restart逻辑说明:Rename-Computer只改计算机名,-Restart让改名立即生效,避免后面装JDK和Deployment Center时还读到旧名称。参数说明:-NewName取对照表里的短主机名,建议不超过15个字符,不要带下划线和中文;-Restart会直接重启,执行前保存好手头工作。
hosts文件建议用追加方式写,不要整段覆盖,尤其是机器上已有其他解析记录时。下面这段会取当前机第一个非回环IPv4地址,把“IP+主机名”追加到hosts,适合单机测试;多机环境还是按对照表手工写更可控。
# 以管理员身份运行,先备份hosts Copy-Item C:\Windows\System32\drivers\etc\hosts C:\Windows\System32\drivers\etc\hosts.bak $hostName = $env:COMPUTERNAME $ip = (Get-NetIPAddress -AddressFamily IPv4 | Where-Object {$_.IPAddress -notlike '127.*'} | Select-Object -First 1).IPAddress "$ip`t$hostName" | Out-File -FilePath C:\Windows\System32\drivers\etc\hosts -Append -Encoding ascii逻辑说明:先备份hosts,再用当前计算机名和IPv4地址拼一行解析记录,编码用ascii避免记事本写入BOM导致解析异常。参数说明:$env:COMPUTERNAME是当前主机名;-notlike '127.*'排除回环地址;-Append保证不覆盖已有内容。多机环境把$hostName和$ip换成对照表里的值逐条追加,最后用ping tc-db01和ping awc-gw01各验一次。
提示:hosts改完先别急着装Deployment Center,用
ping -4 主机名确认解析到IPv4地址,避免后面组件连到IPv6地址上。
2.2 防火墙、IPv6与JDK17.0.3的检查顺序
测试环境里我通常先关防火墙、禁用网卡IPv6,再装JDK17.0.3,顺序反了容易出现“JDK装完但Deployment Center服务起不来”的假故障。关防火墙只适合隔离的测试网,生产环境要按端口放行,不能照搬。禁用IPv6也要先确认远程桌面和监控没有走IPv6,否则断连后只能去机房。
# 以管理员身份运行;网卡名先用 Get-NetAdapter 查 Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False Disable-NetAdapterBinding -Name "以太网" -ComponentID ms_tcpip6 Get-NetAdapterBinding -Name "以太网" | Where-Object {$_.ComponentID -eq "ms_tcpip6"}逻辑说明:第一条关闭域、公用、专用三套防火墙配置;第二条解绑指定网卡的IPv6协议;第三条回读绑定状态,确认Enabled为False。参数说明:-Name "以太网"要换成Get-NetAdapter里看到的实际网卡名;-ComponentID ms_tcpip6是IPv6协议绑定标识,不要改成其他组件。
JDK装完后不要只看安装向导的完成页,要在新开的CMD里验版本。Deployment Center和TC组件依赖JAVA_HOME,路径里不要带中文和特殊符号,版本按输入里的17.0.3对齐。
# 新开管理员PowerShell,设置机器级JAVA_HOME [Environment]::SetEnvironmentVariable("JAVA_HOME","C:\Program Files\Java\jdk-17.0.3","Machine") [Environment]::SetEnvironmentVariable("Path",$env:Path + ";%JAVA_HOME%\bin","Machine") java -version逻辑说明:SetEnvironmentVariable写机器级变量,避免只对当前窗口生效;第二行把%JAVA_HOME%\bin追加到Path;最后用java -version验证输出为17.0.3。参数说明:"Machine"表示系统级;JDK路径按实际安装目录改,但目录名尽量保持jdk-17.0.3这种短格式。设置完关掉所有CMD窗口重开,否则旧窗口读不到新变量。
2.3 License Server 4与SQL Server 2019的最小可用验证
License Server 4和SQL Server 2019不要等Deployment Center报错才回头查,装完就先做最小验证。License服务看服务状态和端口,SQL看版本、认证模式和1433端口。下面先查许可相关服务,服务名按实际安装结果过滤,不要硬编码不存在的名字。
# 查许可相关服务状态 Get-Service | Where-Object {$_.Name -match 'license|flex' -or $_.DisplayName -match 'license'} | Format-Table Name,DisplayName,Status,StartType逻辑说明:用名称和显示名双条件过滤,避免只匹配英文服务名漏掉显示名里的License。参数说明:-match是正则匹配,license|flex覆盖常见许可服务命名;Format-Table只影响展示,不影响结果。看到服务不是Running就先启动,再看启动类型是不是自动。
SQL Server 2019装完后,用sqlcmd验版本和认证模式。Teamcenter常用做法是启用混合认证并固定1433端口,实例名和排序规则按官方文档和现场规范来,不要凭感觉选。
-- 在SQL Server所在机用sqlcmd执行 SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion, SERVERPROPERTY('Edition') AS Edition, SERVERPROPERTY('IsIntegratedSecurityOnly') AS WindowsOnly;逻辑说明:第一条查产品版本,第二条查版本类型,第三条查是否只允许Windows认证;WindowsOnly=0表示混合认证已开。参数说明:ProductVersion应能对上SQL Server 2019的版本线;Edition按实际授权显示;WindowsOnly为1时要在SQL配置里改混合认证并重启实例。
端口验证用Test-NetConnection,从应用机打到数据库机,避免只在本机通、跨机不通。
# 从tc-app01打tc-db01的1433 Test-NetConnection -ComputerName tc-db01 -Port 1433逻辑说明:Test-NetConnection会同时做解析和TCP握手,TcpTestSucceeded为True才算通。参数说明:-ComputerName写hosts里的主机名,顺便验证解析;-Port 1433按SQL实例实际监听端口改。不通时先查SQL TCP/IP协议是否启用,再查防火墙和端口占用。
注意:Deployment Center里配置Database Server和TC密码时不允许特殊符号,后面第5章会单独拆;这里装SQL时先把测试密码定成纯字母数字,能省一轮返工。
3. 把介质塞进Teamcenter Deployment Center存储库:路径、日志与活动介质
3.1 介质解压路径为什么要短
AWC2406介质解压到D:\DeploymentCenter\repository\software下面,路径尽量短不是洁癖,是Windows路径长度和repotool扫描共同决定的。解压时多套一层同名目录、目录名带空格或中文,后面存储库添加介质就容易出现“文件在但活动介质不出现”。我一般把目标目录控制在三层以内,例如software\AWC2406,不要写成software\AWC2406\AWC2406\disk1。
# 以管理员身份运行;源包按实际介质名改 $src = "D:\media\AWC2406.zip" $dst = "D:\DeploymentCenter\repository\software\AWC2406" Expand-Archive -Path $src -DestinationPath $dst -Force逻辑说明:Expand-Archive把介质解到短路径下,-Force允许覆盖上次失败的残留文件。参数说明:$src是介质压缩包位置,不要放在网络盘;$dst固定到存储库software下,目录名用版本号;-Force会覆盖同名文件,执行前确认目标目录没有要保留的手工改动。
解压完先看目录层级,确认没有出现同名嵌套。下面这条只列两层,够判断介质根目录是不是直接落在AWC2406下。
# 检查解压后的目录层级 Get-ChildItem D:\DeploymentCenter\repository\software\AWC2406 -Depth 2 | Select-Object FullName,PSIsContainer逻辑说明:-Depth 2限制递归深度,避免刷屏;PSIsContainer区分目录和文件。参数说明:路径按实际解压目录改;如果看到AWC2406\AWC2406这种嵌套,把内层内容上移一层再继续。介质里常见的disk目录、setup文件以实际包为准,不要自行改名。
3.2 登录存储库添加介质与活动状态确认
登录Deployment Center后进软件存储库,添加介质,再看活动介质列表。界面操作不复杂,关键是添加后不要只看“上传完成”,要回到存储库列表确认状态是活动。下面先确认本机Deployment Center相关服务在跑,服务名按实际安装结果过滤,不要硬编码。
# 查Deployment Center相关服务 Get-Service | Where-Object {$_.DisplayName -match 'deployment|repotool|tc'} | Format-Table Name,DisplayName,Status,StartType逻辑说明:用显示名过滤部署中心和存储库工具服务,确认不是停止状态。参数说明:deployment|repotool|tc是宽匹配,实际服务名可能不同;Status为Running、StartType为Automatic才算就绪。服务没起时先启动,再刷新浏览器。
添加介质的操作顺序我习惯固定成下面几步,避免漏掉“更新选定的软件”:
- 登录Deployment Center,进入软件存储库。
- 点击添加介质,选择
D:\DeploymentCenter\repository\software\AWC2406下的介质根目录。 - 等待解析完成,回到存储库列表刷新。
- 确认介质状态为活动,版本显示与AWC2406一致。
- 如果列表里出现重复条目,先删掉失败条目再重加,不要两个版本同时挂着。
提示:添加介质时不要同时挂AWC2406和其他版本,环境里选软件时容易选错;测试机上只保留当前要装的活动介质最省心。
3.3 添加失败看repotool日志的排查路径
添加介质失败时,界面提示通常很笼统,真正的黑匣子在D:\DeploymentCenter\webserver\repotool\logs。我一般先按时间倒序找最新日志,再看末尾100行,重点搜ERROR、Failed、extract、repository这些词。下面这段先列最新三个日志文件,不直接打开一大堆。
# 找最新repotool日志 Get-ChildItem D:\DeploymentCenter\webserver\repotool\logs -Filter *.log | Sort-Object LastWriteTime -Descending | Select-Object -First 3 FullName,LastWriteTime,Length逻辑说明:按最后写入时间倒序,取最近三个,先看时间和大小判断是不是本次操作产生的日志。参数说明:-Filter *.log只匹配日志;-First 3避免一次列太多;Length为0说明日志没写进去,要查服务账户权限。
找到文件后看尾部,不要全文通读。下面这条把最后120行拉出来,配合关键字过滤。
# 把路径换成上一步查到的日志文件 $log = "D:\DeploymentCenter\webserver\repotool\logs\repotool.log" Get-Content $log -Tail 120 | Select-String -Pattern "ERROR|Failed|extract|repository|permission"逻辑说明:-Tail 120只看尾部,Select-String过滤关键行,减少噪音。参数说明:$log换成实际文件名;关键字按报错调整,压缩包损坏可以加checksum,权限问题可以加denied。看到路径过长就回3.1缩路径,看到权限拒绝就给repotool服务账户加software目录读权限。
常见失败原因我归成四类:解压路径太长或嵌套、压缩包传输损坏、服务账户对repository\software没有读权限、同一介质重复添加。处理顺序是先缩路径重解压,再校验包大小,再查权限,最后清重复条目。不要一上来重装Deployment Center,多数时候日志已经指出问题在介质侧。
4. 创建Env_Tc环境:软件、选项、应用程序与组件的顺序
4.1 创建环境与概述改名
介质变成活动介质后,下一步是创建环境。环境名我习惯用Env_Tc,短、能一眼看出是TC测试环境,后面部署脚本目录也会带这个名字。创建后进入环境,点添加,再在概述里改名称。改名要趁组件还没配完,配到一半再改容易让已生成的配置对不上。
# 确认部署脚本目录下出现Env_Tc Get-ChildItem D:\DeploymentCenter\repository\deploy_scripts -Directory | Select-Object Name,LastWriteTime逻辑说明:环境创建后会在deploy_scripts下生成对应目录,用目录名反查环境是否落盘。参数说明:路径按实际Deployment Center安装位置改;-Directory只列目录;看到Env_Tc且时间戳是本次操作,说明环境已建立。没有出现时先回界面确认环境是否保存成功。
概述里除了名称,还要核对主机名、域、时区这些基础项。主机名必须是2.1里改完并重启后的名字,不能还是安装前的旧名。时区不一致会让日志时间对不上,排错时很别扭。改完点保存,再刷新一次页面,确认名称没有回退。
4.2 选软件、更新选定软件、转至选项
回到部署软件,在可用软件里选AWC2406对应介质,点“更新选定的软件”,再确认已选软件列表里有正确内容。这里的动作顺序不能省:先选、再更新、再核对、再转至选项。只选不点更新,后面组件配置读不到介质;选错版本,组件状态会卡住。
| 核对项 | 期望值 | 说明 |
|---|---|---|
| 可用软件 | AWC2406 | 与活动介质版本一致 |
| 已选软件 | 列表包含AWC2406 | 不能为空或带旧版本 |
| 更新动作 | 已点击更新选定的软件 | 未更新则组件读不到介质 |
| 选项页 | 已勾选对应选项 | 按现场规范勾,不照抄 |
| 环境保存 | 已保存环境选项 | 不保存则生成脚本缺配置 |
转至选项后,勾选对应选项再保存环境选项。选项会影响生成脚本里的端口、认证和组件开关,测试环境可以按最小可用勾,生产要按规范来。勾完不要直接跳部署,先回概述和软件页各刷一次,确认选择没丢。页面之间来回切时偶尔会丢未保存状态,血泪经验是每改一页就点一次保存。
4.3 应用程序与组件的配置顺序
应用程序页添加可用应用程序,选择后点“更新选定的应用程序”,再点“转至组件”。组件页按顺序配,每个组件点开填详细信息,状态到100%再下一个。输入里给的组件顺序可以作为清单,但实际界面有依赖箭头时以箭头为准;Database Server通常要先于Corporate Server完成连接测试,不然后面组件会反复报数据库连不上。
| 顺序 | 组件 | 配置重点 |
|---|---|---|
| 1 | Active Workspace Client Builder | AWC构建参数、主机名 |
| 2 | Active Workspace Gateway | 网关地址、端口 |
| 3 | Corporate Server | TC服务端参数 |
| 4 | Database Server | SQL主机、实例、库名、密码 |
| 5 | FSC | 文件存储卷路径 |
| 6 | FSC Group | 卷组配置 |
| 7 | FSC Keys | 密钥相关配置 |
| 8 | Indexer | 索引服务参数 |
| 9 | Indexing Engine | 索引引擎连接 |
| 10 | Licensing Server | 许可服务地址 |
| 11 | Microservice Node | 微服务节点 |
| 12 | Server Manager | 服务管理器 |
| 13 | Server Manager Cluster Configuration | 集群配置 |
| 14 | Teamcenter Web Tier (Java EE) | Web层Java EE配置 |
每个组件点右侧的展开按钮能看到更细的配置项,填完保存再刷新,状态从灰变黄再变绿。状态卡在90%左右时先看该组件日志和数据库连通性,不要急着删环境重建。所有组件到100%后再点“转至部署”,这时才会出现生成安装脚本的入口。组件没全绿就生成脚本,后面deploy.bat大概率跑一半停。
注意:Database Server和TC的密码在Deployment Center里不允许
! @ $ % = & ' " ^ : ; . _ < > ( ) { }这些特殊符号,TEM里允许带,但环境配置阶段先统一用纯字母数字,能避开大半密码类报错。
5. 部署脚本与避坑排查:deploy.bat参数、日志与五条翻车记录
5.1 deploy.bat的参数与解压路径
所有组件100%后,点转至部署,再点生成安装脚本。生成成功会给部署说明,部署包在D:\DeploymentCenter\repository\deploy_scripts\Env_Tc\install下,文件名形如deploy_XXX.zip。不要直接在install目录里双击解压,先解到独立短路径,再用管理员CMD进去跑。
# 找到最新部署包并解压到短路径 $zip = Get-ChildItem "D:\DeploymentCenter\repository\deploy_scripts\Env_Tc\install\deploy_*.zip" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 Expand-Archive -Path $zip.FullName -DestinationPath "D:\deploy\Env_Tc" -Force逻辑说明:按时间取最新部署包,避免拿到旧环境生成的zip;解压到D:\deploy\Env_Tc短路径,减少bat内部路径拼接问题。参数说明:deploy_*.zip匹配部署包命名;-Force覆盖上次解压残留;目标路径不要带空格和中文。解压后应能看到deploy.bat和配套目录。
以管理员身份打开CMD,进入解压路径再执行。下面命令里的账号密码是输入里给的示例值,实际按环境改;-softwareLocation必须指向存储库software目录,不是介质解压子目录。
:: 以管理员身份运行CMD,不要双击bat cd /d D:\deploy\Env_Tc deploy.bat -dcusername=dcadmin -dcpassword=dcadmin -softwareLocation=D:\DeploymentCenter\repository\software逻辑说明:cd /d先切盘符再切目录,避免当前目录不对导致找不到配置;deploy.bat带三个参数启动部署。参数说明:-dcusername和-dcpassword是Deployment Center登录账号,密码含特殊符号时先改成纯字母数字;-softwareLocation是存储库software根路径,末尾不要多写反斜杠。执行后不要关窗口,控制台输出就是第一手排错信息。
5.2 五条踩坑记录:现象、原因、解决
第一条:添加介质一直失败,界面只提示添加失败。现象是存储库列表刷不出活动介质,repotool日志尾部出现解压异常。原因是介质解压路径太长或出现同名嵌套,repotool扫描不到根目录。解决是把介质重新解到D:\DeploymentCenter\repository\software\AWC2406,确保没有AWC2406\AWC2406嵌套,再重新添加。
第二条:组件状态卡在90%左右,Database Server反复报连接失败。现象是SQL端口通、账号也对,但组件就是不过。原因是Database Server或TC密码里带了! @ $ %这类特殊符号,Deployment Center校验不通过。解决是把密码改成纯字母数字重新填,TEM里允许特殊符号不代表这里允许,两个地方的规则要分开记。
第三条:deploy.bat一闪而过,像没执行。现象是双击后窗口秒关,部署日志也没生成。原因是没用管理员CMD,或者解压路径带空格没加引号。解决是用管理员身份打开CMD,先cd /d到解压目录,再按完整参数执行;路径有空格时给路径加英文双引号。
第四条:环境里选不到活动介质。现象是存储库明明有介质,部署软件页可用软件为空。原因是介质版本和Deployment Center 2406不匹配,或者添加后没刷新存储库缓存。解决是先核对介质版本,再回存储库重新添加一次,刷新页面后重新选软件;仍不出现就看repotool日志里有没有版本识别失败。
第五条:AWC登录失败,但TC服务看着都起来了。现象是浏览器打不开AWC,或者打开后报网关错误。原因是hosts没覆盖全部主机名、防火墙没关或AWC网关端口没放行。解决是按2.1的对照表逐条ping主机名,确认解析到IPv4;测试环境确认防火墙已关,生产按端口放行;再用Test-NetConnection打网关端口。
5.3 日志定位与复装前清理
部署脚本跑失败时,先找日志再动手重装。除了repotool日志,部署包解压目录下也可能生成部署日志,常见做法是先看控制台最后几十行,再按时间搜当前目录的*.log。下面这条从存储库日志目录递归找最新五个日志,适合确认是不是介质侧先出的问题。
# 递归找最新日志,先定位再打开 Get-ChildItem D:\DeploymentCenter\webserver\repotool\logs -Recurse -Filter *.log | Sort-Object LastWriteTime -Descending | Select-Object -First 5 FullName,LastWriteTime,Length逻辑说明:递归覆盖子目录,按时间倒序取前五个,先锁定本次操作时间窗内的文件。参数说明:-Recurse会进子目录;-First 5可按需改;Length为0时查服务账户写权限。打开日志后先搜ERROR和Exception,再看错误前20行,通常能看到触发动作。
复装前不要直接删repository,先把deploy_scripts\Env_Tc备份出来,再停掉相关服务,检查端口占用。下面这条查1433、8080、7001三个常见端口,按实际环境改端口列表。
# 查常见端口占用,避免复装时端口冲突 Get-NetTCPConnection -State Listen | Where-Object {$_.LocalPort -in 1433,8080,7001} | Select-Object LocalAddress,LocalPort,OwningProcess逻辑说明:只列监听状态,找出占用端口的进程号,再用Get-Process -Id确认是不是旧服务。参数说明:-in后面的端口按现场实际改;OwningProcess是PID;不要直接杀进程,先确认是不是SQL、TC或AWC相关服务。复装前把旧环境备份、端口清干净,比装到一半再回头查省时间。
6. 装完别急着交付:三条验证线与一个复装习惯
装完AWC2406后,我一般按“服务、端口、登录”三条线验,不靠界面上的100%就当成功。服务线看TC、AWC、SQL、License相关服务是否Running;端口线从应用机打数据库1433、Web层和网关端口;登录线用部署说明里给出的AWC地址实际登一次,别只在本机浏览器缓存里点。
| 验证线 | 动作 | 通过标准 |
|---|---|---|
| 服务 | 查TC、AWC、SQL、License服务 | 关键服务Running,启动类型自动 |
| 端口 | 从应用机打DB 1433、Web和网关端口 | TcpTestSucceeded为True |
| 登录 | 用部署说明里的AWC地址登录 | 能进登录页并完成一次认证 |
服务检查可以用一条宽匹配先扫一遍,再针对没起来的具体查。下面这条只做初筛,匹配不到不代表没装,按实际服务名补过滤词。
# 初筛关键服务,按实际服务名补充匹配词 Get-Service | Where-Object {$_.Status -eq 'Running' -and $_.DisplayName -match 'teamcenter|active workspace|sql|license'} | Format-Table Name,DisplayName,Status逻辑说明:先看运行中的关键服务,缩小排查范围;没列出来的服务再单独查。参数说明:-match里的词按现场显示名补;Status -eq 'Running'只列运行中,停止的会漏掉,需要单独查停止项。端口验证用Test-NetConnection逐条打,别只在一台机器上测。
复装习惯是我从几次返工里换来的:每次装AWC2406前,先把主机名、hosts、密码字符集三件事写进一张检查表,装完把deploy_scripts\Env_Tc整个备份,再把介质路径和部署包路径记在环境说明里。从那以后我每次点“生成安装脚本”之前,都强制走一遍主机名解析、组件状态、密码字符集这三项,不再凭记忆。希望帮到你。
本文还有配套的精品资源,点击获取