function AddTask($scriptFilePath, $taskName, $schedule)
{
<#
.SYNOPSIS
Добавляет задачу с указанными параметрами в список задач планировщика задач Windows

.DESCRIPTION

.PARAMETER scriptFilePath 
Путь к исполняемому файлу скрипта

.PARAMETER taskName 
Название задачи в списке планировщика задач Windows

.PARAMETER $schedule 
Расписание, задаваемое в формате аргументов планировщика задач Windows

.EXAMPLE 
AddTask -scriptFilePath "ping.exe" -taskName "TestTask" -schedule "/sc,ONCE,/SD,12/03/2014,/ST,15:52"

.NOTES
#>
	# Создаем список аргументов для запуска процесса добавления задачи в планировщик задач Windows	
	$commandArray = @("/create","/tr",$scriptFilePath,"/F","/tn",$taskName,"/NP");	
	$taskSchedulerArgumentList = $commandArray + $schedule;
	
	
	# Добавляем задачу с указанным именем в планировщик задач Windows
	Write-Host ($MSG_TASK_ADDING -f $taskName);
	$ExitCode = (Start-Process -FilePath schtasks -ArgumentList $taskSchedulerArgumentList -Wait).ExitCode;
	#$ExitCode = (Start-Process -FilePath schtasks -ArgumentList "/create /tn Task_Name /tr notepad.exe /SC MINUTE /MO 4 /ST 01:46 /SD 16/07/2013" -Wait).ExitCode;
		
	$taskQuery = ("schtasks /Query /TN " + $taskName);
	$task = Invoke-Expression $taskQuery;
	
	if($task -eq $null)
	{
		throw ($MSG_TASK_ADDING_ERROR -f $taskName);
	}
	else
	{
		Write-Host ($MSG_TASK_ADDED -f $taskName) -ForegroundColor Yellow;
	}
	
	return $ExitCode;
}

function DeleteTask($taskName)
{
<#
.SYNOPSIS
Удаляет задачу с указанным названием из списка задач планировщика Windows

.DESCRIPTION

.PARAMETER taskName 
Название задачи в списке планировщика задач Windows

.EXAMPLE 
DeleteTask -taskName testTask

.NOTES
#>
	# Удаляем задачу с указанным именем из планировщика задач Windows
	Write-Host ($MSG_TASK_DELETING -f $taskName);
	$result = Invoke-Expression "schtasks /Delete /TN $taskName /F";
	if($LASTEXITCODE -eq 0)
	{
		Write-Host ($MSG_TASK_DELETED -f $taskName) -ForegroundColor Yellow;
	}
	else
	{
		$exception = New-Object -TypeName "System.Exception" -ArgumentList ($MSG_TASK_DELETING_ERROR -f $taskName);
		throw $exception;
	}
	
	return $LASTEXITCODE;
}