если этот скрипт делает то, что вы хотите, то вам действительно нужно настроить его так, чтобы он принимал ввод csvВ настоящее время он явно не позволяет вводить данные из канала. Поэтому вам нужно изменить ValueFromPipeline = $ false на ValueFromPipeline = $ true. Затем возьмите свой CSV-файл и передайте имя хоста в ваш скрипт.
$hosts = Import-Csv .\HostTest.csv
foreach($endpoint in $hosts){.\testHost.ps1 $endpoint.Name}
Для вашего второго запроса базовая регистрация очень проста с powershell. Везде, где вы сейчас записываете вывод в оболочку хоста, добавьте или замените строку на:
Add-Content -Path path\to\log.file -Value "The same info you're writing to the host shell"
Вы также можете использовать Set-Content -Path path \ to \ log $ date.file для создания новогофайлы для каждого процесса.