背景介绍:1.由于公司业务人员window系统没有管理员用户权限,使用的是普通用户权限登陆的,因此不能自己安装软件。但是有时候涉及到软件的大批量更新,人工一个一个的去安装,效率太低,人工成本太高,因此写了如下脚本,可以授予业务临时管理员权限,对软件进行下载安装。大大节约了人工成本,提高了本部门的工作效率。
import time
import pyautogui
import win32api
import requests
import win32con
import os
import subprocess
# 获取本机管理员名称
def get_windows_users():
users = []
cmd = 'net user'
output = subprocess.check_output(cmd, shell=True).decode('utf-8', errors="ignore")
lines = output.split(' ')
for line in lines:
if 'User accounts' in line or '---------' in line:
continue
if line.strip() != '':
users.append(line.split()[0])
# 对系统的管理员加以判断
if 'sysadmin' in users:
admin_user = 'sysadmin'
else:
admin_user = 'PC000'
return admin_user
# 安装软件
def install_software():
url = 'https://work.weixin.qq.com/wework_admin/commdownload?platform=win&from=wwindex'
win32api.MessageBox(0, '开始下载企微', '下载软件', win32con.MB_OK)
response = requests.get(url)
software_path = r'C:\poi\WXWork_latest.exe'
with open(software_path, 'wb') as f:
f.write(response.content)
print('软件下载完成')
windows_admin_user = get_windows_users()
os.system("start cmd /k runas /user:" + windows_admin_user + " \"{}\"".format(software_path))
time.sleep(2)
# 模拟输入密码
password = "12345678" # 替换为您的管理员密码
for char in password:
pyautogui.typewrite(char)
time.sleep(0.1) # 添加适当的延迟以模拟人类输入速度
# 模拟按下回车键以提交密码
pyautogui.press('enter')
install_software()