我遇到的问题;这个脚本并没有提取每个服务器的csv文件并将其编译成一个csv文件,它只带来了一个特定服务器的信息,如果我将其更改为write-host,它将带回同一个服务器的多个报告。
我正在尝试做的是接触到所有的服务器在一个集群,拉指定的csv,合并每个csv成一个。每个服务器应该在自己的线。有人能帮助我指出正确的方向吗?
Import-Module ActiveDirectory
# Select the servers you want to hit $servers = (Get-ADComputer -SearchBase "OU" -filter *).name
foreach ($server in $servers) {
$sourcefolder = 'C$\folder\'
$sourcefiles = Get-ChildItem -Path $sourcefolder -Filter serverinfo.csv
$result = @()
foreach ($file in $sourcefiles) {
$data = Import-Csv $file.FullName
$result += $data
}
}
$result | Export-Csv '\\mycomputer\C$\folder\merged.csv' -NoTypeInformation
$result
字符串
1条答案
按热度按时间tcomlyy61#
你在循环中重置
$result
数组,这是上一次迭代的信息基本上丢失的地方。一个更简单的方法可以利用管道,然后不需要数组:字符串