2016-09-02 7 views
0

Я использую Get-WmiObject динамически запрашивать пространство имен SCCM, используя следующую конструкцию:указать подробности Select-Object во время выполнения

$wmi = Get-WmiObject -ComputerName <SCCM Server> -Namespace Root\SMS\SITE_<ID> -Query $query -Credential $credential 

Есть ли способ, чтобы позволить Select-Object детали должны быть указаны во время выполнения? Я попытался следующие без везения:

$properties = Read-Host 'Set Select-Object Properties' 
... 
$wmi | select $select | Export-Csv ${ENV:USERPROFILE}\Desktop\$filename.csv 

Все это делает вернуть именно то, что я набрал во второй строке CSV без каких-либо результатов. Всякий раз, когда я жестко кодирую свойства в оператор select, он работает без проблем.

Вот Gist with the full script signature

ответ

2

Вам нужно Свойства, чтобы быть массивом. Вы можете сделать это, что позволит пользователю указывать либо пробел, либо запятую.

$properties = (Read-Host 'Set Select-Object Properties') -split ' +|, *' 
+0

Это сработало отлично! Благодаря! Я отвечу как ответ, как только это позволит мне. –