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
