2 回答
TA贡献1859条经验 获得超6个赞
这是这样的:
import subprocess
import re
def server_checker():
print ("This will print any service that is stopped or unknown \n")
#servers
server = str(input("Enter server to query(IP Address): "))
server_list = server.split(",")
server_count = len(server_list)
#services
service = str(input("Enter service to query: "))
service_list = service.split(",")
service_count = len(service_list)
#server loop
for a in range(len(server_list)):
server_net_use = 'net use'+r' \\'+server_list[a]+r'\ipc$ /user:Administrator itv'
server_disconnect = 'net use'+r' \\'+server_list[a]+r'\ipc$ /d'
server_sc = r'\\'+server_list[a]
subprocess.check_output(server_net_use, universal_newlines=True)
#service loop
for i in range(len(service_list)):
x = subprocess.check_output(['sc', server_sc, 'query', service_list[i]], universal_newlines=True)
y = re.sub('\s+',' ',x)
if 'FAILED' in y:
print ('\n'+server_list[a]+' - '+service_list[i]+' - Unknown Service!\n')
elif 'STOPPED' in y:
print ('\n'+server_list[a]+' - '+service_list[i]+' - '+y.split(" ")[10]+'\n')
if __name__ == "__main__":
server_checker()
while(True):
answer = str(input("Do you want to query another service? y/n: "))
if answer.lower() in ["yes","y","letsgo"]:
subprocess.check_output(server_disconnect, universal_newlines=True)
print ("\n")
server_checker()
elif answer.lower() in ["no","n,","nowayhosay"]:
subprocess.check_output(server_disconnect, universal_newlines=True)
break;
else:
print ('Enter y/n')
添加回答
举报