其实飞书推送是最近才完成的功能,但是因为刚刚写完了一个功能,成热打铁就先把这一块写了。
其实飞书在二开这方面还是比较方便的,可以在线调api并生成示例代码,非常容易入手。
我这里因为是想要用来给任意人和群发送信息,所以使用的是自建小程序方式,webhook机器人只能限制在一个群内,比较不方便。鉴权方式大概就是:app_id,app_secret获取一个token,然后通过这个token请求各种接口。
发送信息的模板虽然是json但是发送信息的open-apis/im/v1/messages
接口接受的其实是str,Content 是 string 类型, json 结构需要转义。详情还以官方文档为准。信息json模板为一开始在飞书工具中搭建完成后在程序中读取替换信息。
信息卡片中的互动按钮会回传信息到后台机器人设置中的消息卡片请求网址中。根据不同key来区分功能。
jira分配组没有什么好说的,只是手动再拿一下名字去jira接口更改下组,AD域密码重置的话是第一篇里面的遗留问题,使用的的是powershell的方式去去调用重置密码的。现在服务器都是跑在容器中,所以现在需要一个方法去远程执行powershell。 这里一开始找到的是pywinrm这个模块,但是直接执行powershell会报一些奇怪的问题,最后想到使用ansible来进行控制。
因为入职工具使用的是操作LDAP+PowerShell命令操作AD域和DHCP,因为后期新建了一个复制域有可能域之间传输信息有信息差,本机通过PoweShell来对新建账号初始化密码的时候有可能会出现找不到用户的问题,所以考虑使用远程PoweShell直接操作AD域,看是不是能解决问题
shell#被控AD域PoweShell
Enable-PSRemoting #开启WinRm
#允许未加密连接
#这里修改配置需要注意网上有些配置在后面均缺少引号,后面配置不被单引号包住则无法完成配置
winrm set winrm/config/client '@{AllowUnencrypted = "true"}'
#设置信任所有连接(*表示所有都信任,这么设置并不安全)
winrm set winrm/config/client '@{TrustedHosts="*"}'
#可以查看配置信息
winrm get winrm/config
在资产系统之前,公司内网的IP地址为固定地址保留,所以每个IP地址都是实名的。那么对公司设备的MAC地址的采集就是一件重要的事情了。在PC端因为公司设备都会加如域中,所以通过统一下发bat脚本来进行信息的收集。
bash@echo off
#如果存在则不重复收集,直接打印以下时间意思意思
#
if not exist \\10.1.1.9\Software\系统信息收集\%computername%.txt goto nofile
goto start
:nofile
wmic nic where "NetConnectionId!=NULL and MacAddress!=NULL" get "NetConnectionID","MacAddress" | findstr "[^]" | findstr /i /v "^Mac.." >"%tmp%\$"
for /f "tokens=1,2 delims= " %%a in ('type "%tmp%\$"') do (
echo 网络连接: [%%b] MAC 地址: [%%a] >> \\10.1.1.9\Software\系统信息收集\%computername%.txt
)
wmic nic where "NetConnectionId!=NULL and MacAddress!=NULL" get "Description" | findstr "[^]"| findstr /i /v "^Des.." >"%tmp%\12"
for /f "delims=" %%a in ('type "%tmp%\12"') do (
echo %%a >> \\10.1.1.9\Software\系统信息收集\%computername%.txt
)
ipconfig |find "10."|find "IPv4" >> \\10.1.1.9\Software\系统信息收集\%computername%.txt
whoami >> \\10.1.1.9\Software\系统信息收集\%computername%.txt
:start
echo %time%
其实作为一个运维,接触到开发的东西非常的有限,平常使用python无非就是想要优化一下工作流,写一点小工具来辅助一下,要求不高,也不深。毕竟时间有限Python作为脚本语言配合各自即使通讯平台的api应该是非常方便的。比较平常大多数时间不是对着问题就是对着钉钉或者是飞书,所以把这些工具的通知给直接发到钉钉或者飞书上非常方便。
之前公司使用的飞书,虽然功能并不多但是完全够用,并且能够很容易理解文档,每一次更新都能看到易用性上是有很大提高的,现在我更换了公司,这家公司使用的是钉钉,便小试了一下钉钉。先从周边开始说起。
之前飞书开发的过程中感觉有点问题,那第一时间我就想找一下有没有相关的开发者社区呢? 我们很容易就能在开发者文档的开发者广场中找到组织,在里面提问和交流,非常方便。
来 找一下他们的交流社区到底在哪里