将数组中的多个IP地址作为对象导入

时间:2015-12-08 12:14:55

标签: powershell import

我正在尝试使用PowerShell导入以下数据:

Name                 AllowedIPAddresses                              Enabled
activeDirectoryAll   {AA.BB.28.1,AA.BB.28.2,AA.BB.124.1,AA.BB.124.2} TRUE
CIMHttpServer        {AA.BB.134.77}                                  TRUE
CIMHttpsServer       {AA.BB.134.77}                                  TRUE
CIMSLP               {AA.BB.21.128/26}                               TRUE
cmmds                {All}                                           FALSE
dhcp                 {All}                                           FALSE

使用命令

AllowedIPAddresses导入数组时
$Srcdata = Import-Csv -Path $SrcFWFile

此数据具有以下类型:

AllowedIPAddresses NoteProperty System.String AllowedIPAddresses={All}

但是日期必须是这种类型:

AllowedIPAddresses NoteProperty System.Object[] AllowedIPAddresses=System.Object[]

如何操作此列,以便我可以在System.Object中插入多个IP?

1 个答案:

答案 0 :(得分:1)

删除花括号并用逗号分隔字符串:

Import-Csv -Path $SrcFWFile | Select-Object -Property *,@{n='AllowedIPAddresses';e={$_.AllowedIPAddresses -replace '^\{|\}$' -split ','}} -Exclude AllowedIPAddresses