title: Powershell script does not run via Scheduled Tasks
body: <p>I have a small script on my Domain Controller that is setup to email me via SMTP about the latest Security Event 4740.</p>
  
  <p>The script, when executed manually, will run as intended; however, when setup to run via Scheduled Tasks, and although it shows to have been executed, nothing happens (no email).</p>
  
  <p>The script is as follows:</p>
  
  <pre><code>If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
  
  {   
  $arguments = "&amp; '" + $myinvocation.mycommand.definition + "'"
  Start-Process powershell -Verb runAs -ArgumentList $arguments
  Break
  }
  
  $Event = Get-EventLog -LogName Security -InstanceId 4740 -Newest 5
  $MailBody= $Event.Message + "`r`n`t" + $Event.TimeGenerated
  
  $MailSubject= "Security Event 4740 - Detected"
  $SmtpClient = New-Object system.net.mail.smtpClient
  $SmtpClient.host = "smtp.domain.com"
  $MailMessage = New-Object system.net.mail.mailmessage
  $MailMessage.from = "fromemail@domain.com"
  $MailMessage.To.add("toemail.domain.com")
  $MailMessage.IsBodyHtml = 1
  $MailMessage.Subject = $MailSubject
  $MailMessage.Body = $MailBody
  $SmtpClient.Send($MailMessage)
  </code></pre>
  
  <p><strong>Scheduled Task is setup as follows:</strong></p>
  
  <pre><code>RunsAs:LOCAL SYSTEM
  
  Trigger: On event - Log: Security, Event ID: 4740
  
  Action:  Start Program - C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
  
    Argument:  -executionpolicy bypass c:\path\event4740.ps1
  </code></pre>
  
  <p><strong>I have also tried the following:</strong></p>
  
  <pre><code>Trigger: On event - Log: Security, Event ID: 4740
  
  Action:  Start Program - C:\path\event4740.ps1
  </code></pre>
  
  <p>According to the Tasks History:  Task Started, Action Started, Created Task Process, Action Completed, Task Completed.  I have looked through some various links on the site with the same 'issue' but they all seem to have some sort of variable that I do not have.  I have also tried some of the mentioned solutions thinking they may be somewhat related, but alas nothing is working.  I have even tried removing my Scheduled Task and resetting it as mentioned here: <a href="http://blogs.technet.com/b/heyscriptingguy/archive/2012/08/11/weekend-scripter-use-the-windows-task-scheduler-to-run-a-windows-powershell-script.aspx">http://blogs.technet.com/b/heyscriptingguy/archive/2012/08/11/weekend-scripter-use-the-windows-task-scheduler-to-run-a-windows-powershell-script.aspx</a></p>
  
  <p>Has anyone run into this type of error before or know how to bypass this issue?</p>
  
  <p><strong>Troubleshooting:</strong></p>
  
  <p>I decided to try an call a .bat file via a scheduled task.  I created a simple file that would echo the current date/time to a monitored folder.  Running the file manually and via a task triggered by the 4740 Event achieved desired results.  Changing the .bat file to instead call the .ps1 file worked manually.  When triggered by the 4740 Event, now the .bat will no longer run.</p>