powercli的一点实践

密码加密

引入下面两个模块

	ps "github.com/bhendo/go-powershell"
    "github.com/bhendo/go-powershell/backend"

生成漂亮的html页面

首先建立css文件,这里以下面的css为例。 保存css文件为css.html.

然后通过powershell导出的文件的方法:

用powershell发邮件

write-host "begin sending email" -ForegroundColor "blue"

$msg=new-object net.mail.mailmessage
$attachment=new-object net.mail.attachment($filename) #这里的$filename是html文件的文件名,可以加上路径
$smtpserver=new-object net.mail.smtpclient("smtp.mysmtpserver.com")
$msg.from="demo@mycompany.com"
$msg.to.add("mark@home.com")
$msg.subject="something may interested"
# $msg.body=$htmlbody |Out-String
$msg.Attachments.add($attachment)
$msg.IsBodyHtml=$true
$smtpserver.Send($msg)

write-host "message sent" -foreground color "blue"

用powershell检测端口开放情况

起因是开始做了一个用iis发布的folder,因为iis服务器没有加入域,没发做域的认证。后来换成了go,编译了一下,还是放在了这台windows机器上。为了保证服务的可靠性,需要做一个监控端口是否开放的脚本,如果端口连接不上,那就需要重启这个exe文件。

用了两种方式,一种是打开sockets的方式,一种是test-openport的方式。

其中cmd /qn的参数是静默在后台运行的意思。实际上不需要加/qn参数。

$ipaddress="10.214.8.75"
$port=8075
#$connection=new-object system.net.sockets.tcpclient($ipaddress,$port)
$connection=test-netconnection 10.214.8.75 -port 8075 
#if ($connection.Connected){
if ($connection.tcptestsucceeded){
	write-host "port is open,fine!"
   }
else {
	write-host "port is not open!"
        "c:\authpublish\authpublish.exe" |cmd /qn
   }
| 访问量:
Table of Contents