Лог-файл powershell csv - PullRequest
       13

Лог-файл powershell csv

0 голосов
/ 10 февраля 2019

Я хотел бы создать файл журнала для моего скрипта powershell

  • Этот скрипт состоит из 2 файлов powershell o 1 поискового файла o 1 ini-файла Это ini-файл, которыйЗапущен файл поиска вызывается из INI-файла.

  • Сценарий использует файл CSV-файла_ini o Формат -> старый; новый

  • Комуавтоматически генерировать файл журнала (например, файл .txt) при каждом запуске скрипта, который содержит следующую информацию: список и, следовательно, количество строк, видимых в CSV. Итак, число ini-файлов для поиска со старым значением o Numberколичество найденных файлов. Количество перемещенных и переименованных файлов. o Если и только если один или несколько искомых файлов не существуют, просмотрите список файлов, не найденных. Кроме того, я хотел бы получить файл журнала: o Либо в формате txt."log_ini_date_heure.txt" log_ini -> никогда не изменяется с датой -> динамически, так что это переменная времени -> динамически, поэтому это переменная или она сохраняется в каталоге, где скриптt находится Представьте, что:

  • Мой CSV содержит abc; abc2 и aabb; aabb2
  • Я запускаю скрипт o Он смотрит на первый каталог Find abc -> он перемещает его ввторой каталог и переименовывает его abc2 не может найти aabb перестает работать, так как ему больше нечего искать o Затем он генерирует log_ini_06022019_13h25, который указывает количество найденных файлов: 2
  • abc
  • число aabbнайдено файлов: 1 Файл не найден:
  • aabb

ini.ps1

 Import-module ".\search.ps1"
    $CSVFile = Import-CSV "\\ppwp0040\RAPW10\Ini\INI_SCCM\file_ini.csv" -Delimiter ";"
    $INIFiles1= Get-ChildItem \\ppwp0040\RAPW10\Ini\INI_SCCM\INI_MACHINE\*.ini
    foreach($INIFile in $INIFiles1) {
        foreach($entry in $CSVFile) {
            if($entry.old -eq $INIFile.BaseName) {
                Write-Host ("[{0}] {0} renamed to {1}" -f $entry.old,$entry.new) -ForegroundColor:Green
                Rename-Item -LiteralPath $INIFile.FullName -NewName ("{0}{1}" -f $entry.new,$INIFile.Extension)
            } 
        }
    }
    Write-Host ("FINISH TYPE TO FINISH") -ForegroundColor:Green
    pause
...