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

PowerShell执行Fortinet注销命令时解析选项出错求助

问题与解决方案:Fortinet注销PowerShell脚本报错

问题详情

执行Fortinet注销操作的PowerShell脚本代码如下:

$kk | & $exePath -ArgumentList $unregisterArgs -nonewwindow

其中$kk是注销所需的密码,运行脚本时出现错误:

error parsing options: Option 'A' does not exist

尝试改用Invoke-Expression后出现其他错误,但这段代码直接在PowerShell窗口单独运行时可正常执行。

原因分析

  • 使用&运算符调用可执行文件时,-ArgumentList是错误的参数传递方式,PowerShell会将其当作可执行文件的普通参数传递,导致程序解析参数时出错。
  • 参数数组$unregisterArgs未正确展开时,会被当成单个字符串传递,造成程序误解析参数。

修正方案

将代码修改为以下形式,使用**数组展开运算符@**正确传递参数列表:

$kk | & $exePath @unregisterArgs -nonewwindow

说明

  1. @unregisterArgs会将数组中的每个元素作为独立参数传递给可执行文件,避免参数被错误拼接。
  2. 移除错误的-ArgumentList参数,&运算符支持直接在可执行文件路径后跟随参数列表。
  3. 保留管道传递密码的方式,Fortinet注销程序通常从标准输入读取密码,这种传递方式有效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:04:58