我有一个问题,上周六我将DC从Windows 2003迁移到2012R2时,所有内容都已迁移正常,但我无法在Windows 2012R2上运行ps脚本。我更改了一些参数,邮件地址等。
param([String]$EmailTo = "user@domain.com")
psql.exe -h 10.1.1.20 -p 5432 -w -H -f C:\Scripts\errors_o_htm_V3.sql' -o 'C:\Scripts\errors.html -U script database
$file = "C:\Scripts\errors.html"
$old = Get-Content $file
Add-Content -Path $file -Value $old
$EmailFrom = "sender@domain.com"
$Subject = "Reports"
$SMTPServer = "smtp.serwer.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $false
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("user","password");
$msg = new-object Net.Mail.MailMessage
$msg.From = $EmailFrom
$msg.To.Add($EmailTo)
$msg.To.Add("user@domain.com")
$msg.Subject = $Subject
$msg.IsBodyHTML = $True
$msg.Body = $old
$msg.BodyEncoding = [System.Text.Encoding]::GetEncoding("UTF-8")
$SMTPClient.Send($msg)
当我手动运行脚本时,他生成错误文件并发送它,但是当我想在调度程序中设置它时 - 他发送一个空邮件,psql.exe -h出错了...... 我将psql路径添加到Environment Variables。
在调度程序中我设置:
程序/脚本powershell.exe或完整路径
添加参数C:\ Scripts \ script.ps1,并在路径前添加-f。
但是当我运行这个脚本时,他不会生成带有数据的错误文件。 我认为shedule参数有问题。