У нас есть файл .csv с заголовками, который ежедневно заполняется автоматически мобильными устройствами, зарегистрированными в нашем MDM, но не заносится в базу данных наших устройств.
У меня есть скрипт для анализа .csv, пометки устройств в консоли и отправки по электронной почте в службу поддержки для расследования.Сценарий выполняет подсчет строк, но сталкивается с проблемой, когда данных нет, то есть строки пусты, за исключением заголовков.Я предполагаю, что это потому, что у скрипта нет данных для выполнения действий, но когда это происходит, счетчик по-прежнему отображается как «1».
Когда есть только одна строка, заполненная данными, счетчик по-прежнему отображается как «1», однако всегда показывает правильные значения при заполнении большего количества данных (строк).
Я предполагаюМоим лучшим решением было бы просто кодировать в «сценарий уничтожения сценария», то есть, если в электронной таблице нет данных, сценарий должен остановиться.
Я также хотел отправить электронное письмо в службу поддержки, только если в файле .csv есть данные.
Любые предложения будут полезны.
Я пробовал много способов подсчета строк, но когда электронная таблица пуста, она все равно считает заголовок.Заголовок не учитывается при заполнении строк.
# Path to file
$NoICK = Import-Csv \\server\folder\TrueUp.csv
#Device Counts
$devicecount = ($NoICK | Measure-Object).Count
# Creates a copy file and tags all devices (function not show here)
Foreach ($item in $NoICK){
$noICK | Export-Csv -Path $path -NoTypeInformation
tag_NoICKregistration $item.device_id
}
# Only send email to support if there are devices
If ($devicecount -gt '0'){
Send-MailMessage -From $smtpFrom -To $smtpTo -Subject $messageSubject -Body $body -SmtpServer $smtpServer
}
Если истинный счетчик равен нулю, то есть данные не были введены в файл .csv, я бы хотел, чтобы сценарий остановился после создания копии и не отправлял электронное письмо.