У меня есть строчный скрипт aprox 1000, который проходит через все серверы в AD.Сценарий проверяет связь с каждым сервером и выполняет множество WMI-запросов, если ping = ok.Мой сценарий сохраняет результаты в хеш-таблице, которую я выводил в CSV в конце сценария.Это работает, но это неаккуратно. Мы говорим около двух часов.Я пытался сделать это более эффективным, и я думаю - задание звучит как хорошая идея.
Но могу ли я сделать это как параллельную работу?Будет ли мой сервер обрабатывать нагрузку?И есть ли способ сделать это?
Надеясь на ввод данных, пока я жду, пока мой скрипт запустит свой цикл ..
РЕДАКТИРОВАТЬ
Мое мнение таково, что скрипт ждетдля test-connection (ping) вернуть true или false.Я хотел бы запустить несколько пингов одновременно.
РЕДАКТИРОВАТЬ 2
( ПРИМЕЧАНИЕ: Я начал отдельный вопрося чувствую, что на мой первоначальный вопрос дан ответ. В любом случае, я добавляю свой текущий код, так как он был запрошен. Спасибо всем за обсуждение! новый вопрос здесь! )
Спасибо всем за помощь!Меня попросили перечислить мой код, чтобы предоставить реальный пример того, что я пытаюсь сделать.
Это небольшая, но действительная выдержка из моего кода:
# List 4 servers (for testing)
$servers = Get-QADComputer -sizelimit 4 -WarningAction SilentlyContinue -OSName *server*,*hyper*
# Create list
$serverlistlist = @()
# Loop servers
foreach($server in $servers) {
# Fetch IP
$ipaddress = [System.Net.Dns]::GetHostAddresses($Server.name)| select-object IPAddressToString -expandproperty IPAddressToString
# Gather OSName through WMI
$OSName = (Get-WmiObject Win32_OperatingSystem -ComputerName $server.name ).caption
# Ping the server
if (Test-Connection -ComputerName $server.name -count 1 -Quiet ) {
$reachable = "Yes"
}
# Save info about server
$serverInfo = New-Object -TypeName PSObject -Property @{
SystemName = ($server.name).ToLower()
IPAddress = $IPAddress
OSName = $OSName
}
$serverlistlist += $serverinfo | Select-Object SystemName,IPAddress,OSName
}
Примечания: Я выводлю $ serverlist в csv-файл в конце скрипта. Я перечисляю серверы aprox 500 в своем полном скрипте.