Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - скрипт отключения всех заданий, по заданным условиям

Ответить
Настройки темы
PowerShell - скрипт отключения всех заданий, по заданным условиям

Старожил


Сообщения: 292
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip f.zip
(233 байт, 2 просмотров)
Подскажите, как написать скрипт на PS, с таким алгоритмом
1. есть файл csv
"C:\Users\admin\Documents\f.csv"
его формат сейчас
"","promoaction","promoeffect1","returneff","promo_return","dataload"
"1",18557,18568,0,18557,2019-03-23 17:11:28
каждое утро понедельника, в 11 часов, csv файл пополняется новой строчкой
например, 25 числа может быть так.
"","promoaction","promoeffect1","returneff","promo_return","dataload"
"2",18558,18568,0,18558,2019-03-25 11:00:00

2. Так вот, как сделать, что если по колонкам promoaction и promo_return (другие колонки не трогаем, их значение не важно)
значение меньше чем в предыдущую дату(dataload колонка)
Ну, например
"","promoaction","promoeffect1","returneff","promo_return","dataload"
"3",1000,18568,0,1000,2019-03-25 11:00:00 (1000<18558)

а также, если в какой то из колонок promoaction и promo_return значения не равны, например в promoaction =18558,, а в promo_return=18559,

то все задание которые запланированы на вторник (там есть задания их много, они раз в неделю во вторник в taskschd.msc запускаются)
не должны запуститься, а просто перенести выполнение на следующий вторник.

Ну а если в promoaction и promo_return значения больше чем в предыдущую дату, и значения promoaction = promo_return
то все в порядке, ничего отключать не надо

данный ps должен запускаться каждый пн в 12 часов дня. В случае, если задания были отключены, на рабочем столе создать .txt файл с предупреждением ("задания в планировщике отключены")

Кто-нибудь может помочь сделать такой скрипт?

Отправлено: 18:01, 23-03-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


YuS_2, спасибо, ясно.

Отправлено: 22:01, 24-03-2019 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата kontox:
если вы думаете, что лучше все задания не отключать, то можно ли вставить название заданий. которые точно можно
например, задание1,заданния2... »
лучше эти задания ссыпать в отдельную папку, например BusinessLogic

Код: Выделить весь код
Import-csv 'C:\Users\admin\Documents\f.csv' | .{
    begin {
        $current = $null
    }
    process {
        $previous = $current
        $current = $_
    }
    end {
        switch  (@{previous = $previous; last = $current}) {
            ({ $null -eq $_.previous -or $null -eq $_.last }) { break }
            ({ $_.last.promoaction -gt $_.previous.promoaction `
                -and $_.last.promo_return -gt $_.previous.promo_return `
                -and $_.last.promoaction -eq $_.last.promo_return }) {
                    Get-ScheduledTask -TaskPath "\BusinessLogic\" | Enable-ScheduledTask
                    break
                }
            default {
                Get-ScheduledTask -TaskPath "\BusinessLogic\" | Disable-ScheduledTask
                Set-Content -Path ([Environment]::GetFolderPath("Desktop") + '\result.txt') -Value 'задания в планировщике отключены'
            }
        }
    }
}

Отправлено: 00:44, 25-03-2019 | #12


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Iska:
я устанавливать не буду »
Да, кстати, существует портабельный вариант (ну, как портабельный... в профайле пользователя каталог он создает и устанавливает туда же файлы помощи и т.п., а также в реестр пишет необходимые ключи), установки не требует, достаточно указать в PATH путь к pwsh.exe и то, только из целей удобства запуска...
C powershell v 5.1 они могут работать параллельно и не пересекаются между собой.

-------
scio me nihil scire. Ѫ


Отправлено: 07:37, 25-03-2019 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - скрипт отключения всех заданий, по заданным условиям

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - Скрипт для переноса файлов по заданным параметрам Kakazabr Скриптовые языки администрирования Windows 7 27-04-2016 21:04
Разное - [решено] Планировщик заданий (куча заданий по умолчанию) - а надо ли? Pepsi_nsk Microsoft Windows 7 10 24-07-2014 19:12
VBS/WSH/JS - Переименование файла по условиям bombording Скриптовые языки администрирования Windows 1 24-03-2014 16:17
PowerShell - Find по разным условиям dosperados Скриптовые языки администрирования Windows 7 07-02-2012 12:14
[решено] Нужен скрипт для отключения всех сессий и открытых файлов Butunin Klim Microsoft Windows NT/2000/2003 1 15-07-2006 01:25




 
Переход