Algo ao longo destas linhas é a sua melhor aposta:
$output = $null
foreach($computer in (get-content c:\tempcomputers.txt)){
$LinkSpeed = Get-WmiObject -class Win32_PerfRawData_Tcpip_NetworkInterface -ComputerName $computer
foreach($link in $LinkSpeed){
$object = New-Object psobject | Select ComputerName, LinkName, LinkSpeedMB
$object.ComputerName = $computer
$object.LinkName = $link.Name
$object.LinkSpeedMB = [int]$Link.CurrentBandwidth/1000000
[array]$output += $object
}
}
$output | Out-File test.log
Quebrando o que eu tenho acima, estamos passo a passo:
Looping através de todos os ComputerNames no documento txt chamado 60computers.txt
Em seguida, foreach
computer executando o cmdlet Get-WMIObject
para coletar as informações
Em seguida, crie um Objeto do PowerShell para formatar os dados como queremos
Adicionando isso a um array (mais rápido do que acrescentar a um arquivo)
Em seguida, empurre a matriz para o arquivo de log.