Powershell 脚本抛出错误时添加 AzKeyVaultNetworkRule
Add-AzKeyVaultNetworkRule on Powershell script throwing error
我需要使用 powershell 将 Azure Function-App 的出站 IP 添加到要列入白名单的 Azure KeyVault 防火墙规则,以便在管道上执行。我的脚本是:
param(
[Parameter()]
[String]$resourcegrp,
[String]$funcname,
[String]$kv
)
$functionApp = Get-AzFunctionApp -ResourceGroupName $resourcegrp -Name $funcname
Add-AzKeyVaultNetworkRule -VaultName $kv -ResourceGroupName $resourcegrp `
-IpAddressRange ($functionApp.PossibleOutboundIPAddress).Trim()
Update-AzKeyVaultNetworkRuleSet -VaultName $kv -ResourceGroupName $resourcegrp `
-DefaultAction Deny -Bypass AzureServices `
-IpAddressRange ($functionApp.PossibleOutboundIPAddress).Trim()
以上给出了以下错误:
就像我在下面的 powershell 提示符下做同样的事情一样,它工作正常。
谁能指出我的 PS1 文件有什么问题,或者用 PowerShell 脚本实现相同问题的更好方法。
这是因为 属性 $functionApp.PossibleOutboundIPAddress
是单个字符串
$functions[0].PossibleOutboundIPAddress | gm
TypeName: System.String
但是Add-AzKeyVaultNetworkRule
需要一个字符串数组
Get-Help Add-AzKeyVaultNetworkRule -Parameter ipaddressrange
-IpAddressRange <System.String[]>
Specifies allowed network IP address range of network rule.
您应该能够通过在 ,
分隔符
上拆分 functionApp 的值来完成这项工作
$addAzKeyVaultNetworkRuleSplat = @{
VaultName = $kv
ResourceGroupName = $resourcegrp
IpAddressRange = $functionApp.PossibleOutboundIPAddress -split ','
}
Add-AzKeyVaultNetworkRule @addAzKeyVaultNetworkRuleSplat
我需要使用 powershell 将 Azure Function-App 的出站 IP 添加到要列入白名单的 Azure KeyVault 防火墙规则,以便在管道上执行。我的脚本是:
param(
[Parameter()]
[String]$resourcegrp,
[String]$funcname,
[String]$kv
)
$functionApp = Get-AzFunctionApp -ResourceGroupName $resourcegrp -Name $funcname
Add-AzKeyVaultNetworkRule -VaultName $kv -ResourceGroupName $resourcegrp `
-IpAddressRange ($functionApp.PossibleOutboundIPAddress).Trim()
Update-AzKeyVaultNetworkRuleSet -VaultName $kv -ResourceGroupName $resourcegrp `
-DefaultAction Deny -Bypass AzureServices `
-IpAddressRange ($functionApp.PossibleOutboundIPAddress).Trim()
以上给出了以下错误:
谁能指出我的 PS1 文件有什么问题,或者用 PowerShell 脚本实现相同问题的更好方法。
这是因为 属性 $functionApp.PossibleOutboundIPAddress
是单个字符串
$functions[0].PossibleOutboundIPAddress | gm
TypeName: System.String
但是Add-AzKeyVaultNetworkRule
需要一个字符串数组
Get-Help Add-AzKeyVaultNetworkRule -Parameter ipaddressrange
-IpAddressRange <System.String[]>
Specifies allowed network IP address range of network rule.
您应该能够通过在 ,
分隔符
$addAzKeyVaultNetworkRuleSplat = @{
VaultName = $kv
ResourceGroupName = $resourcegrp
IpAddressRange = $functionApp.PossibleOutboundIPAddress -split ','
}
Add-AzKeyVaultNetworkRule @addAzKeyVaultNetworkRuleSplat