使用Python汇总本地组及成员信息

  由于不清楚如何用windows脚本将本地组及组成员信息汇总到单个文件中,本文准备采用Python来汇总本地组及组成员信息。又因为没有百度出来使用Python获取本地用户和租的信息的方法,本文使用Python运行net localgroup命令生成结果文件,并分析输出文件后汇总形成为单个excel文件。
本文主要使用的模块包括:

  • os模块。用于操作文件系统;
  • openpyxl模块。用于操作excel文件。

  本文中采用的函数主要包括:

序号函数名称说明所属模块
1system可以将字符串转化成命令在服务器上运行os模块
2open用于打开一个文件os模块
3stat返回相关文件的系统状态信息os模块
4load_workbook加载excel文件openpyxl模块
5create_sheet创建工作簿openpyxl模块
6append在工作簿中追加一行内容openpyxl模块

  完成的程序及程序运行结果如下所示:

# coding=gbk

import os
from openpyxl import load_workbook

groupFileName='localgroups.txt'
localgroups=[]
os.system('net localgroup >'+groupFileName)

with open(groupFileName) as file:
    isStart=False;
    for rowItem in file:
        if rowItem.startswith('-----------------------------------------------------------------------'):
            isStart=True;
            continue
        if rowItem.startswith('命令成功完成。'):
            break
        
        if(isStart):
            localgroups.append(rowItem.replace('*','').replace('\n',''))

print(localgroups)

path = r"localgroup.xlsx"
wb = load_workbook(path)

for group in localgroups:
    oneGroupName=group.replace(' ','_')+'.txt'
    os.system('net localgroup '+group+'>'+oneGroupName)
    statinfo = os.stat(oneGroupName)
    if(statinfo.st_size==0):
        continue
    ws = wb.create_sheet(group)
    with open(oneGroupName) as file:
        isStart=False;
        for rowItem in file:
            if rowItem.startswith('-----------------------------------------------------------------------'):
                isStart=True;
                continue
            if rowItem.startswith('命令成功完成。'):
                break
            
            if(isStart):
                ws.append([rowItem])               

wb.save(path)

在这里插入图片描述

参考文献
[1]https://www.cnblogs.com/slqt/p/9009114.html
[2]https://blog.csdn.net/weixin_35878217/article/details/114388770
[3]https://blog.csdn.net/weixin_54227557/article/details/125817783
[4]https://blog.csdn.net/weixin_44801980/article/details/108476909
[5]https://blog.csdn.net/u012633319/article/details/123341925
[6]https://www.cnblogs.com/hls-code/p/15674197.html
[7]https://blog.csdn.net/m0_63171455/article/details/121966957

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值