【问题标题】:PowerShell Foreach Out-Put IssuePowerShell Foreach 输出问题
【发布时间】:2018-04-19 16:11:39
【问题描述】:

我正在尝试将我的命令输出吐出到 csv 中。我能做的最好的就是让它显示在 powershell 屏幕上。我怎样才能做到这一点?

 $computers = Get-Content -Path C:\folder\file.csv
 $numbers = @($computers)

 Foreach ($i in $computers) {
   Get-adcomputer $i -properties CanonicalName 

 }  Export-CSV c:\folder2\finalfile.csv

如果在常见问题解答中尝试了不同的示例,但它们不能满足我的需求。

感谢您的帮助。

谢谢,

维克多

【问题讨论】:

    标签: powershell foreach


    【解决方案1】:
    • 您永远不会向Export-CSV 发送任何对象。 Foreach($item in $array) 不能与管道一起使用(如果您缺少 |),因此您必须首先将结果存储在列表或数组中。我会切换到Foreach-object 和管道。
    • Get-Content 用于阅读文本(例如,每行一台计算机),但是您的文件类型建议使用 csv(通常是多列),您可以使用 Import-CSV 阅读。既然你说它有效,我会假设它实际上只是一个名称列表,所以我保留了Get-Content
    • $numbers 未使用

    试试:

    Get-Content -Path C:\folder\file.csv | Foreach-Object {
        Get-ADComputer -Identity $_ -Properties CanonicalName
    } | Export-CSV c:\folder2\finalfile.csv -NoTypeInformation
    

    【讨论】:

    • 谢谢弗罗德!非常感谢您的帮助。
    猜你喜欢
    • 2022-01-24
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    • 2022-10-17
    • 2017-03-12
    • 1970-01-01
    相关资源
    最近更新 更多