У меня ниже этой команды PowerShell, чтобы получить вывод скорости Ethernet-адаптера на имя компьютера, которое я указываю:

Get-WmiObject -class Win32_PerfRawData_Tcpip_NetworkInterface -ComputerName Computernamehere | Format-Table Name,@{label="LinkSpeed(MB)";Expression={$_.CurrentBandwidth/1000000 -as [int]}}

Теперь у меня более 60 компьютеров, и я вставил команду более 60 раз для разных имен компьютеров в один и тот же файл сценария PowerShell, каждый в одной строке, и закончил выводом текстового файла, выполнив Из командной строки

PowerShell ".\LinkSpeed.ps1 "> test.log

Может ли кто-нибудь посоветовать мне настроить код так, чтобы он импортировал имена компьютеров из текстового файла, и когда я получаю выходные данные, он подбирает каждое имя компьютера по его скорости, потому что мне приходится рассчитывать, на какой строке задана неправильная скорость, и вернитесь к сценарию PowerShell и найдите эту строку, чтобы определить имя компьютера, ниже приведен пример вывода.

Имя LinkSpeed(МБ)---- -------------

Intel [R] 82567LM-3 Gigabit Network Connection 1000

isatap.domain.com 0

ISATAP. {9B9559F2-1490-4661-81A2-6AA1DC382AF8} 0

Спасибо.

1 ответ1

2

Что-то в этом роде - ваш лучший выбор:

$output = $null

foreach($computer in (get-content c:\temp\60computers.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

Разбивая то, что я имею выше, мы шаг за шагом делаем:

Цикл по всем ComputerNames в текстовом документе с именем 60computers.txt

Затем на foreach компьютере выполняется командлет Get-WMIObject для сбора информации.

Затем создаем объект PowerShell для форматирования данных так, как мы хотим

Добавление этого в массив (быстрее, чем добавление в файл)

Затем толкаем массив в файл журнала.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .