我正在尝试从计算机名称的CSV文件中获取计算机及其OU的列表
Add-PSSnapin quest.activeroles.admanagement
$results = @()
$computers = Get-Content "computers.csv"
foreach ($computer in $computers)
{
$results += Get-QADComputer $computer | select name, parentcontainer
}
$results = Export-CSV -path "computerswithous.csv"
但它错误地要求我提供价值。如何将此数据简单地输出到CSV文件?
答案 0 :(得分:1)
你没有在帖子中包含它,但这是你得到的:
cmdlet Export-Csv at command pipeline position 1
Supply values for the following parameters:
InputObject:
简单回答是这一行
$results = Export-CSV -path "computerswithous.csv"
最有可能是这个
$results | Export-CSV -path "computerswithous.csv"
在您的示例中,Export-CSV
没有输入数据,这是您的提示(而非错误)请求的内容。您实际上想要将$results
传输到CSV文件。
您也可以取消该构造,只需使用标准管道即可获得所需内容。
Add-PSSnapin quest.activeroles.admanagement
Get-Content "computers.csv" | ForEach-Object{Get-QADComputer $_} |
Select Name,ParentContainer | Export-CSV -Path "computerswithous.csv" -NoTypeInformation
答案 1 :(得分:0)
根本不需要中间收集($results
)。只需将foreach
循环包装在sub-expression
中,然后将其发送到管道。
Add-PSSnapin quest.activeroles.admanagement
$computers = Get-Content "computers.csv"
$(foreach ($computer in $computers)
{
Get-QADComputer $computer | select name, parentcontainer
}) | Export-CSV -path "computerswithous.csv"