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

PowerShell执行AWS EC2安全组查询命令遇Unknown token /错误求助

问题

我尝试运行以下PowerShell命令,用于列出开放22端口且允许公网IP(0.0.0.0/0或::/0)访问的EC2安全组ID:

aws ec2 describe-security-groups --filters Name=ip-permission.from-port,Values=22 Name=ip-permission.to-port,Values=22 --query 'SecurityGroups[?((IpPermissions.IpRanges.CidrIp == "0.0.0.0/0") || (IpPermissions.Ipv6Ranges.CidrIpv6 == "::/0"))].[GroupId]' --profile "prod" --region "us-east-1" | out-file $output -Encoding ASCII -append 

但出现如下错误:

Unknown token /:(似乎PowerShell无法识别斜杠"/")

Bad value for --query SecurityGroups[?((IpPermissions.IpRanges.CidrIp == 0.0.0.0/0) || (IpPermissions.Ipv6Ranges.CidrIpv6 == ::/0))].[GroupId]: Bad jmespath 
expression: Unknown token /:
SecurityGroups[?((IpPermissions.IpRanges.CidrIp == 0.0.0.0/0) || (IpPermissions.Ipv6Ranges.CidrIpv6 == ::/0))].[GroupId]

请问如何修改命令,让PowerShell正确识别斜杠并执行该命令?

解决方法

问题根源是PowerShell解析单引号包裹的--query参数时,会移除内部的双引号,导致JMESPath表达式里的Cidr地址变成无引号的0.0.0.0/0和::/0,JMESPath将其视为语法错误的表达式而非字符串。

可以通过两种方式修正:

方式一:转义双引号

用双引号包裹整个--query参数,同时把表达式内的双引号转义为""(PowerShell的双引号转义规则):

aws ec2 describe-security-groups --filters Name=ip-permission.from-port,Values=22 Name=ip-permission.to-port,Values=22 --query "SecurityGroups[?((IpPermissions.IpRanges.CidrIp == ""0.0.0.0/0"") || (IpPermissions.Ipv6Ranges.CidrIpv6 == ""::/0""))].[GroupId]" --profile "prod" --region "us-east-1" | Out-File $output -Encoding ASCII -Append

方式二:改用单引号包裹字符串

用双引号包裹整个--query参数,内部的Cidr地址用单引号包裹,无需转义:

aws ec2 describe-security-groups --filters Name=ip-permission.from-port,Values=22 Name=ip-permission.to-port,Values=22 --query "SecurityGroups[?((IpPermissions.IpRanges.CidrIp == '0.0.0.0/0') || (IpPermissions.Ipv6Ranges.CidrIpv6 == '::/0'))].[GroupId]" --profile "prod" --region "us-east-1" | Out-File $output -Encoding ASCII -Append

两种方式都能确保JMESPath接收到带引号的Cidr字符串,正确解析表达式并执行命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:17:47