在运行时指定选择对象详细信息

时间:2016-09-02 12:57:36

标签: powershell powershell-v5.0

我使用Get-WmiObject使用以下构造动态查询SCCM命名空间:

$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

1 个答案:

答案 0 :(得分:2)

您需要将Properties作为数组。您可以执行此操作,以允许用户指定空格或逗号分隔列表。

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