使用PowerShell将网络安全组分配给虚拟机网络接口

时间:2017-02-08 03:24:10

标签: powershell azure

我有现有的NSG和VM,并计划将NSG添加到现有VM的NIC并同时删除。我已经根据http://windowsitpro.com/azure/manage-network-security-groups-powershel中提供的示例准备了这个。以下命令失败,方法不支持错误。

$NICName = 'azwebvm0186'
$RGName = 'Prod_ResourceGroup'
$NsgName = 'Prod_ILB_SG'

$NSG = Get-AzureRmNetworkSecurityGroup -Name $NsgName -ResourceGroupName $RGName
$NIC = Get-AzureRmNetworkInterface -Name $NICName -ResourceGroupName $RGname
$NIC.NetworkSecurityGroup = $NSG
Set-AzureRmNetworkInterface -NetworkInterface $NIC

失败并出现以下错误

$NIC.NetworkSecurityGroup = $NSG : Specified method is not supported.
+ CategoryInfo          : NotImplemented: (:) [], PSNotSupportedException
+ FullyQualifiedErrorId : NotSupported

1 个答案:

答案 0 :(得分:0)

我在我的实验室测试过,你的脚本适合我。我认为您最好通过以下方式进行检查:

1.检查$NSG$NIC.NetworkSecurityGroup值和类型。请确保它们具有相同的类型。

PS C:\Users\v-shshui> $NIC|gm


   TypeName: Microsoft.Azure.Commands.Network.Models.PSNetworkInterface

2。检查Azure Powershell版本。我的版本是3.3.0。您可以使用以下cmdlet获取版本。

Get-Module -ListAvailable -Name Azure -Refresh

如果您的版本不是最新版本,我建议您将版本更新为最新版本。您可以从此link

下载PS版本3.3.0安装文件