Выберите атрибуты или параметр с переменной в PowerShell

Используя этот код, я получаю желаемый результат:

Get-Service | select Name,Status

Но следующий код не будет работать, вы знаете, почему? Я хочу, чтобы пользователь сам выбрал свой выбор атрибутов. Я храню атрибуты в переменной, как показано ниже. Но это не сработает

$param = "Name,Status"
Get-Service | select $param

2 ответа

Решение

Вы должны создать массив свойств, которые вы хотите выбрать:

$param = "Name","Status"
Get-Service | select $param

Или вы можете разбить строку самостоятельно, чтобы создать массив:

$param = "Name,Status"
Get-Service | select ($param -split ',')

Вы также можете создать хеш-таблицу, например:

$params = @{Property=@('Name','Status')}
Get-Service | Select @params

И даже добавьте некоторые дополнительные параметры, например:

$params = @{
            Property=@('Name','Status');
            First=10;
            }
Get-Service | Select @params
Другие вопросы по тегам