Мой код:
# 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 различается по строкам. Например:

Я хотел бы поместить каждую строку (кроме !! ## MBIMModemProvisionedContextInternetProfile ## 8932002100293639334) в свой объект $ DelProfiles.
Я попытался сделать это с помощью цикла foreach, но мне удалось получить только одну строку в моем объекте $ DelProfiles ..

Что я делаю неправильно? Я только новичок в программировании, поэтому мои знания базовые ..
С уважением!





$DelProfiles должен быть массивом объектов, а не отдельным объектом. Теперь свойство Name перезаписывается только на каждой итерации.
Объявите пустой массив:
$DelProfiles = @()
Добавьте в массив объект со свойством Name:
$DelProfiles += [PSCustomObject] @{Name = $($Line2 -replace " ","")}
Я бы выбрал только строки с фигурными скобками и использовал
$Line2.Trim()