用命令输出填充空对象

时间:2018-10-26 08:23:03

标签: powershell foreach

我的代码是:

    # Command to show existing mobile profiles
    $CallProfiles=netsh mbn show profiles

    # Create empty object
    $DelProfiles = "" | Select-Object Name

     # fill in object 
  ForEach ($Line2 in $CallProfiles) {
        if ([regex]::IsMatch($Line2,"    ")){
            $DelProfiles.Name = $Line2 -replace "    ",""
            }
            }

$ CallProfiles的输出以行不同。例如: output netsh mbn show profiles

我想将每行(!!!! ## MBIMModemProvisionedContextInternetProfile ## 8932002100293639334)放到我的对象$ DelProfiles中。

我尝试使用foreach循环执行此操作,但是我只能在$ DelProfiles对象中获得1行。 output $DelProfiles

我在做什么错? 我只是编码的初学者,所以我的知识很基础。

亲切的问候!

1 个答案:

答案 0 :(得分:0)

$DelProfiles应该是对象数组,而不是单个对象。现在,Name属性仅在每次迭代中都被覆盖。

声明空数组:

$DelProfiles = @()

将具有Name属性的对象添加到数组:

$DelProfiles += [PSCustomObject] @{Name = $($Line2 -replace "    ","")}