PowerShell小技巧(通过Powershell 发送消息给企业微信机器人)

不飞则已,一飞冲天;不鸣则已,一鸣惊人。这篇文章主要讲述PowerShell小技巧:通过Powershell 发送消息给企业微信机器人相关的知识,希望能为你提供帮助。
背景在工作中经常会使用计划任务执行 Powershell 脚本,同时又需要基于执行的脚本及时反馈结果给相关人员。过去是通过 Powershell 发送邮件通知,但很多时候这类消息容易被忽略,没有及时沟通类的消息软件高效。
本篇以企业微信机器人为例,简单记录使用 Powershell 发送消息给企业微信机器人,便于后期集成在其他脚本中,以实现及时反馈运行结果的需求。如何创建机器人不在本文范围,请自行搜寻。
本文为==微风==原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
实现方式

$Webhook = "https://qyapi.weixin.qq.com/xxx" # 这里填写机器人的Webhook 地址即可 Invoke-WebRequest $Webhook -Method POST -ContentType "application/json; charset=utf-8" -Body "msgtype": "text","text": "content": "【测试企业微信机器人消息】"

效果预览
PowerShell小技巧(通过Powershell 发送消息给企业微信机器人)

文章图片
PowerShell小技巧(通过Powershell 发送消息给企业微信机器人)

文章图片

实战脚本如下:
# Send message $webhook = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=*********" $PClist = Get-ADComputer -SearchBase "CN=Computers,DC=ITPro,DC=cc"-Filter Enabled -eq "True" | Select-Object Name $PCNames = $PClist.Name $PCNumb = ($PClist.Name).count $content = Write-Output "一共有"$PCNumb"台计算机加入域请尽快移动至相关OU,清单如下:`n "$PCNames""$body = " `"msgtype`":`"text`", `"text`": `"content`":`"$content`", `"mentioned_list`":[`"jason`"]" $chinese = [System.Text.Encoding]::UTF8.GetBytes($body) #这里是解决中文编码问题的即发送中文消息时候使用。 if ($PCNumb -gt 0) Invoke-RestMethod $webhook -ContentType "application/json" -Method Post-Body $chineseelse exit

执行结果:
PowerShell小技巧(通过Powershell 发送消息给企业微信机器人)

文章图片

【PowerShell小技巧(通过Powershell 发送消息给企业微信机器人)】机器人消息也支持MarkDown格式,让输出的消息更加美观
下一章,我将介绍通过 PowerShell 自动将刚加域的客户端按固定计算机命名规则来移动至对应 OU,效果如下图所示:
PowerShell小技巧(通过Powershell 发送消息给企业微信机器人)

文章图片

详细说明请见官方文档
更多文章,欢迎订阅或访问我的个人博客: Blog.ITPro.cc

    推荐阅读