编辑
2023-07-28
运维
00
请注意,本文编写于 544 天前,最后修改于 544 天前,其中某些信息可能已经过时。

目录

网卡、公司PC信息录入和飞书资产信息推送
网卡录入和PC信息采集
PC
网卡
资产系统接口集成
飞书接口推送
邮箱、Jira和Gitlab

网卡、公司PC信息录入和飞书资产信息推送

网卡录入和PC信息采集

PC

在资产系统之前,公司内网的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%

此脚本为早期创建,效果就是获取网卡MAC信息和设备在内网的IP信息,通过域策略下发来批量统计MAC信息。信息存至公司samba服务器中

网卡

为了方便在分配资产时能够直观获取MAC地址所以在资产入库时就需要统计完MAC地址,这里通过Python脚本来统计新接入的网卡设备并读取MAC地址,最后写入Excel中完成存储。

python
import psutil from openpyxl import load_workbook content = psutil.net_if_addrs() mac = 'abc' wb = load_workbook("网卡mac.xlsx") ws1 = wb.get_sheet_by_name("Sheet1") row=1 top = 'NIC-MA' #资产编号前缀 num = 10014 #资产编号起始值 print("Ctrl+C 退出循环") while(1): content = psutil.net_if_addrs() for key,values in content.items(): if key == '以太网': continue if "以太网" in key: if mac != values[0][1]: #检查是否和上一张插入的网卡MAC地址相同,防止同一张网卡多次插入时多次统计 mac = values[0][1] num += 1 print (key, num, values[0][1]) ws1['B'+str(row)] = values[0][1] ws1['A'+str(row)] = "{}{}".format(top,num) row += 1 wb.save('网卡mac.xlsx') else: break

资产系统接口集成

资产管理系统也是IT管理重要的部分,通常新人入职的同时也需要进行资产分配,同时通过资产管理中早期就已录入的设备MAC信息,在添加资产时就完成自动的DHCP保留和备注。资产管理的相关接口其实很容易,我们使用的是开源的Snipe-IT来进行资产的管理,借助他们的官方API文档能够很容易完成集成,封装的相关方法主要是:

  • 更新资产某个属性(如MAC信息)
  • 根据资产名称(ID)获取信息
  • 资产签入签出
  • 搜索用户获取ID,添加用户(用于入职初始化)
  • 根据用户ID获取名下IT设备资产
  • 从资产编号获取MAC地址
  • 从用户名获得资产信息
  • 遍历目录更新资产MAC信息(结合上面的获取PC的MAC脚本达到同步信息的目的)

飞书接口推送

在上次的卡片基础上,增加了新的按钮,用于在人员入职分配电脑后推送分配到的资产信息到飞书个人。 卡片:卡片 资产推送卡片:资产 在之前的基础上调用新写的接口即可,没有什么特殊的东西。 顺带这次功能添加的同时,将之前写死的配置内容都替换成配置文件,同时给程序增加了Debug专用的入口,修改配置文件可以快捷给自己发送测试信息,不用原始的注释法来进行调试了。

邮箱、Jira和Gitlab

这三个都是由官方文档集成,主要是封装方法完成成员的增删改查,在入职过程中择机执行,根据部门不同来对账号进行创建。主要解决多个网站之间信息录入和配置的繁琐步骤。