Скрипт Powershell для пинга - PullRequest
       10

Скрипт Powershell для пинга

0 голосов
/ 31 октября 2018

У меня есть список серверов и устройств NAS в сети. Все перечисленные в CSV-файле с заголовками NAS_List (столбец B) и Server_List (столбец A). Я хочу пропинговать, используя столбец A к столбцу B.

Server_List           NAS_List
Server12345 pings    NAS12345
Server23456 pings    NAS23456
Server34567 pings    NAS34567

Я также хочу получить вывод этого в формате txt / csv в будущем. Надеюсь, у меня есть смысл :) 1004 *

Спасибо Bhavin

1 Ответ

0 голосов
/ 31 октября 2018

Вы можете использовать Import-Csv для сериализации ваших CSV-данных в массиве-объекте. После этого вы можете перебрать этот массив с помощью ForEach-Object -cmdlet. В цикле вы можете вызвать Test-Connection , чтобы "пропинговать" данный сервер.

Я загрузил простую функцию на github .

function Ping-Servers{
    [CmdletBinding()]
    Param()
    # Load CSV data to local object
    $servers = Import-Csv .\servers.csv

    $testResultArrayWithDictionaryAsContent = $servers | Foreach-Object{ 
            #Iterate over the CSV rows
            Write-Information "Testing $($_.Servers)"
            #Call "ping" and store the result
            $ctResult = Test-Connection $_.Servers; 
            # return a dictionary for every CSV row (including the ping result)
            @{ Nas = $_.Nas; Server = $_.Servers; TestResult = $ctResult }}
    $testResultArrayWithDictionaryAsContent 
}

Проверьте Powershell о разделах , они предлагают классную информацию. Если вы новичок в Powershell, вам следует пройти БЕСПЛАТНЫЙ курс MVA Начало работы с Powershell . Хотя этот курс предназначен для Powershell 3.0, он является отличной отправной точкой в ​​мире Powershell.

...