PowerShell CSV, запросы и т. Д.

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

$fileone = Import-Csv "C:\myfile.csv"
$fileone.MachineName | ForEach-Object {
    $path = Test-Path "\\$_\c$\Program Files (x86)\dir\dir\*" -Include ThisFile.exe

    if ($path -eq $true ) {
        Write-Host "The file ThisFile.exe exists on $_"
    } else {
        Write-Host "The file ThisFile.exe does not exist on $_"
    }
}

Это запишет в консоль, но я хотел бы экспортировать вывод в другой.csv, организовать его данные. Я также хотел бы знать, как манипулировать вводом больше.

Например, как я могу получить первую строку (строку заголовка) импортированного CSV, выбрать только два столбца, такие как MachineName и AssigneeName, выполнить команду для каждого MachineName (имя компьютера в моей сети), получить результат команды и экспортируйте это в организованный csv, в котором перечислены column1: имя_машины и column2: asignee column3: результат команды / вывода.

И если я захочу запустить его на компьютерах в разных доменах, а не только в текущем, то сделаю еще один шаг вперед

Я хотел бы придерживаться Import-Csv а также Export-Csv,

Я пытался использовать:

If ($path -eq $true ) { Write-Output "$_" | Out-File "C:\yesexe.csv" -Append }

Else { Write-Output "$_" | Out-File "C:\noexe.csv" -Append }

} 

Это работает, но это не похоже на плавный подход. Что, если бы я хотел больше столбцов, чем просто MachineName? Если бы я хотел column2 и результат в отдельных столбцах?

Экспорт-Csv...

0 ответов

Другие вопросы по тегам