通过API更新防火墙:PowerShell中如何向规则数组添加新规则?
解决PowerShell中向防火墙规则数组添加新规则的问题
你不需要用Add-Member,因为userDefinedRules本身是数组类型的属性,直接对数组进行元素追加操作即可:
方法一:直接追加新规则
如果确认$FWRules.userDefinedRules已经是数组(多数API返回的列表都会是数组),直接用+=追加:
$FWRules.userDefinedRules += $newrule
方法二:兼容单元素场景
如果API返回的规则只有一条时,userDefinedRules可能是单个对象而非数组,先强制转成数组再合并:
# 先将现有规则转为数组,再合并新规则 $FWRules.userDefinedRules = @($FWRules.userDefinedRules) + $newrule
为什么不用Add-Member?
Add-Member的作用是给PowerShell对象新增属性/方法,而你当前需求是给已存在的数组属性添加元素,属于数组元素操作,和添加对象属性是两回事,因此不需要用这个命令。
内容的提问来源于stack exchange,提问作者Gabrie
相关产品推荐
相关产品推荐

