我正在尝试运行这个命令;
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 斜杠只是一个斜杠并运行它?
谢谢!
运行并列出所有具有公共 IP 地址的安全组的代码。
尝试使用反斜杠作为转义字符:
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