MSSQL/WMI/PowerShell结合篇(四)PowerShell发送微信信息
本文介绍如何通过PowerShell发送微信信息 先申请企业微信(企业、政府、组织三种类型),通过PowerShell调用企业微信的API群发接口发送微信信息,API详细信息可参考企业微信开发者文档 以下为PowerShell调用企业微信API发送文本信息 ----Script File: send_WeChat.ps1 param($param1,$param2,$param3) ##设置16-32位长度的密钥 function Set-Key { param([string]$string) $length = $string.length $pad = 32-$length if (($length -lt 16) -or ($length -gt 32)) {Throw "String must be between 16 and 32 characters"} $encoding = New-Object System.Text.ASCIIEncoding $bytes = $encoding.GetBytes($string + "0" * $pad) return $bytes } ##解密方法 function Get-EncryptedData { param($key,$data) $data | ConvertTo-SecureString -key $key | ForEach-Object {[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($_))} } ##发送微信方法 function send_WeChat_To_DBA { Param( [String]$corpid, [String]$pwd, [String]$Content ) $auth_string = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$pwd" $auth_values = Invoke-RestMethod $auth_string $token = $auth_values.access_token $body="{ `"toparty`":`"receive group id`", `"agentid`":`"your agent id`", `"text`":{ `"content`":`"$content`" }, `"msgtype`":`"text`" }" $CN=[System.Text.Encoding]::UTF8.GetBytes($body) Invoke-RestMethod "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$token" -ContentType "application/json" -Method Post -Body $CN } ##解析帐号密码 $cidstr= Get-Content E:Monitorcidstr.txt; $pwdstr = Get-Content E:Monitorkeystr.txt; $cidkey = Set-Key $cidstr; $pwdkey = Set-Key $pwdstr; $cidfromFile = Get-Content E:Monitorwxcid.txt; $pwdfromFile = Get-Content E:Monitorwxpwd.txt; $corpid = Get-EncryptedData -data $cidfromFile -key $cidkey; $pwd = Get-EncryptedData -data $pwdfromFile -key $pwdkey; $content=$param1+$param2+$param3 ##调用发送方法 send_WeChat_To_DBA -corpid $corpid -pwd $pwd -Content $content ##send_WeChat.ps1调用方式 E:Monitorsend_WeChat.ps1 $param1 $param2 $param3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |