在资产系统之前,公司内网的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中完成存储。
pythonimport 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文档能够很容易完成集成,封装的相关方法主要是:
在上次的卡片基础上,增加了新的按钮,用于在人员入职分配电脑后推送分配到的资产信息到飞书个人。 卡片: 资产推送卡片: 在之前的基础上调用新写的接口即可,没有什么特殊的东西。 顺带这次功能添加的同时,将之前写死的配置内容都替换成配置文件,同时给程序增加了Debug专用的入口,修改配置文件可以快捷给自己发送测试信息,不用原始的注释法来进行调试了。
这三个都是由官方文档集成,主要是封装方法完成成员的增删改查,在入职过程中择机执行,根据部门不同来对账号进行创建。主要解决多个网站之间信息录入和配置的繁琐步骤。