none
Планировщик и сообщения в трее RRS feed

  • Вопрос

  • Доброго времени суток.

    Следующая задача.  Есть скомпилированный  в exe powershell скрипт который проверяет обновления версии программы  и если обновления найдены выводится  сообщение в трее о том обновления какого модуля доступны. 

    Хочу поставить в планировщик запуск этого скрита раз в n  минут. Все бы хорошо, но при нахождении обновлений сообщения в трей не выводятся при запуске из планировщика. 

    Можно ли как то заставить планировщик не скрывать сообщения программы?

    Заранее спасибо.



    • Изменено Omni_Vidente 8 октября 2016 г. 18:03
    8 октября 2016 г. 17:57

Ответы

  • Нашел из за чего проблема.

    Вобщем, экзешник вызывает скрипт powershell с параметрами, если запускать чисто ps1 то обрабатывает нормально, если запускать через exe то параметры не обрабатываются, отсюда и нет оповещений

    Проблемы была в том что не указал рабочую папку в планировщике, проблема решена, спасибо


    • Изменено Omni_Vidente 8 октября 2016 г. 19:33
    • Помечено в качестве ответа Omni_Vidente 8 октября 2016 г. 19:33
    8 октября 2016 г. 19:05

Все ответы

  • Здравствуйте,
    Уточните пожалуйста, прописываете запуск скрипта в планировщике по учетной записью пользователя?

    Best Regards, Andrei ...
    MCP

    8 октября 2016 г. 18:32
    Модератор
  • Пробовал и под учеткой пользователя и под учеткой системы.  

    function Show-BalloonTip
    	{
    		
    		[CmdletBinding(SupportsShouldProcess = $true)]
    		param
    		(
    			[Parameter(Mandatory = $true)]
    			$Text,
    			[Parameter(Mandatory = $true)]
    			$Title,
    			[ValidateSet('None', 'Info', 'Warning', 'Error')]
    			$Icon = 'Info',
    			$Timeout = 10000
    		)
    		
    		Add-Type -AssemblyName System.Windows.Forms
    		
    		if ($script:balloon -eq $null)
    		{
    			$script:balloon = New-Object System.Windows.Forms.NotifyIcon
    		}
    		
    		$path = Get-Process -id $pid | Select-Object -ExpandProperty Path
    		$balloon.Icon = "E:\UserProfiles\Documents\test.ico"
    			$balloon.BalloonTipIcon = $Icon
    		$balloon.BalloonTipText = $Text
    		$balloon.BalloonTipTitle = $Title
    		$balloon.Visible = $true
    		
    		$balloon.ShowBalloonTip($Timeout)
    		$script:balloon.Dispose()
    		Remove-Variable –Scope script –Name balloon
    	}

    Это функция вывода оповещений

    8 октября 2016 г. 18:44
  • Нашел из за чего проблема.

    Вобщем, экзешник вызывает скрипт powershell с параметрами, если запускать чисто ps1 то обрабатывает нормально, если запускать через exe то параметры не обрабатываются, отсюда и нет оповещений

    Проблемы была в том что не указал рабочую папку в планировщике, проблема решена, спасибо


    • Изменено Omni_Vidente 8 октября 2016 г. 19:33
    • Помечено в качестве ответа Omni_Vidente 8 октября 2016 г. 19:33
    8 октября 2016 г. 19:05