You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell向ArgumentList传变量失败:TeamViewer部署别名异常

解决方案

问题根源有两点:

  1. 单引号包裹的字符串中,PowerShell不会解析变量,只会原样输出$serialnumber字符串
  2. ASSIGNMENTOPTIONS参数内的引号转义不符合PowerShell规则

修正后的代码可以用两种方式实现:

方式一:双引号嵌套双引号(连续双引号转义)

$serialnumber = (Get-CimInstance -ClassName Win32_BIOS -Property SerialNumber).SerialNumber

$tvparams = '/i', "ASSIGNMENTOPTIONS=""--alias $serialnumber"""
Start-Process 'msiexec.exe' -ArgumentList $tvparams

方式二:反引号转义内部双引号

$serialnumber = (Get-CimInstance -ClassName Win32_BIOS -Property SerialNumber).SerialNumber

$tvparams = '/i', "ASSIGNMENTOPTIONS=`"--alias $serialnumber`""
Start-Process 'msiexec.exe' -ArgumentList $tvparams

补充优化建议

如果你的TeamViewer MSI安装包有明确路径,建议把路径也加入参数列表,同时加上-Wait参数让PowerShell等待安装完成:

$tvInstaller = "C:\Deploy\TeamViewer_Host.msi"
$serialnumber = (Get-CimInstance -ClassName Win32_BIOS -Property SerialNumber).SerialNumber
$tvparams = '/i', $tvInstaller, "ASSIGNMENTOPTIONS=""--alias $serialnumber"""
Start-Process 'msiexec.exe' -ArgumentList $tvparams -Wait

内容的提问来源于stack exchange,提问作者Tolsn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 12:15:40