powershell 使用方法:
访问操作系统资源
https://blog.51cto.com/huandidi/2288031
# 调用winscp
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://user:pass@[IPV6]:22" "option transfer binary" "put D:\1.pdf /home/" "exit" /log=D:\log_file.txt
# 发送HTML邮件:
-- check_dg.ps1:
$From = "xxx@163.com"
$To = "xxx@163.com"
$SMTPServer = "smtp.163.com"
$SMTPPort = 25
$Username = "xxx@163.com"
$Password = "12345"
$currentDatetime = get-date -Format 'yyyy-MM-dd-HH-mm'
$Subject = "POS_Oracle_Replcation_" + $currentDatetime
$Body = Get-Content c:\app\check_dg.log
$SMTPMessage = New-Object System.Net.Mail.MailMessage($From, $To, $Subject, $Body)
$SMTPMessage.IsBodyHtml = $true
$SMTPClient = New-Object Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
$SMTPClient.EnableSsl = $false
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$SMTPClient.Send($SMTPMessage)
-- check_dg.sql
SET MARKUP HTML ON
select SEQUENCE#, FIRST_TIME, APPLIED, ARCHIVED from
(select t.*,rownum n from V$ARCHIVED_LOG t order by FIRST_TIME)
where n>(select count(1)-10 from V$ARCHIVED_LOG);
-- check_dg.bat:
sqlplus -S / as sysdba @c:\app\check_dg.sql > c:\app\check_dg.log
powershell c:\app\check_dg.ps1
远程访问SqlServer:
启动Sql Agent
启用tcp/ip协议
防火墙开通端口TCP 1433 UDP 1434
https://www.red-gate.com/simple-talk/sysadmin/powershell/introduction-to-powershell-with-sql-server-using-invoke-sqlcmd/
https://www.cnblogs.com/LC0507/p/11209327.html
https://blog.51cto.com/ultrasql/2050176