不飞则已,一飞冲天;不鸣则已,一鸣惊人。这篇文章主要讲述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": "【测试企业微信机器人消息】"
效果预览
文章图片
文章图片
实战脚本如下:
# 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 发送消息给企业微信机器人)】机器人消息也支持
MarkDown
格式,让输出的消息更加美观下一章,我将介绍通过 PowerShell 自动将刚加域的客户端按固定计算机命名规则来移动至对应 OU,效果如下图所示:
文章图片
详细说明请见官方文档
更多文章,欢迎订阅或访问我的个人博客: Blog.ITPro.cc
推荐阅读
- node.js与它的文件系统模块
- Cisco ISE 交换机AAA认证方式和全局&接口配置
- 阿里云云原生一体化数仓入选 2022数博会“十佳大数据案例”
- 客快物流大数据项目(Docker容器命令)
- Hyper-V 虚拟机实时迁移配置
- 代码实现MNLM | word embedding开山之作
- #云原生征文# docker数据卷与DockerFile学习
- 图分析的22种算法与图形理解
- 大厂是怎么实践装饰器模式的()