由于公司业务需求,购买了大量云主机分配给业务人员使用,但是业务人员的资源使用回收意识不高,经常导致数百台云主机属于闲置状态,造成严重的资源浪费现象。为了防止资源浪费,所以需要判断他们的云主机是否使用,一个一个的找对应的使用人去问,浪费时间不说,还麻烦。
因此,是否可以开发一个脚本,用来程序来验证云主机的使用情况呢?根据这个思路我们有了一个想法,那就是想办法查看云主机运行的程序软件状态。
import pandas
from winrm.protocol import Protocol
#
def check_software_run(vm_ip, username, password):
try:
# 创建WinRMSession对象
session = Protocol(
endpoint='http://' + vm_ip + ':5985/wsman',
transport='ntlm',
username=username,
password=password,
server_cert_validation='ignore'
)
# 执行PowerShell命令,获取服务器正在运行的程序进程名
shell_id = session.open_shell()
command_id = session.run_command(shell_id, 'tasklist | find "WXWork.exe"')
std_out, std_err, status_code &