Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Win32 Net列出本地用户的Python脚本_Python_Windows_Winapi_Administration - Fatal编程技术网

使用Win32 Net列出本地用户的Python脚本

使用Win32 Net列出本地用户的Python脚本,python,windows,winapi,administration,Python,Windows,Winapi,Administration,我在局域网上使用这个脚本让每台机器列出它们的本地管理员和用户。在我们的网络中出现了一个安全漏洞,一些学生在目录外创建了本地管理员,我们需要找出他们的位置。它导入的列表中只列出了整个网络的IP地址,就像 192.168.1.1 192.168.1.2 192.168.1.3 当列表中只有一个IP时,脚本将与计算机上的所有本地管理员/用户一起工作并报告,但当有两个或更多IP时,脚本将出错并显示错误:(1722,“NetGroupGetUsers”,“RPC服务器不可用”。)当其中一个由自己放入时,

我在局域网上使用这个脚本让每台机器列出它们的本地管理员和用户。在我们的网络中出现了一个安全漏洞,一些学生在目录外创建了本地管理员,我们需要找出他们的位置。它导入的列表中只列出了整个网络的IP地址,就像

192.168.1.1
192.168.1.2
192.168.1.3
当列表中只有一个IP时,脚本将与计算机上的所有本地管理员/用户一起工作并报告,但当有两个或更多IP时,脚本将出错并显示错误:(1722,“NetGroupGetUsers”,“RPC服务器不可用”。)当其中一个由自己放入时,他们列的很好,所以这不是IP不起作用的问题

import win32net

def GetUsers( IP ):
 print IP,
 print win32net.NetGroupGetUsers(IP,'none',0), 
return

F = open("C:\Users\JOHNDOE\Desktop\IP_List.txt")

for CurrentIP in F:
 GetUsers(CurrentIP),

 F.close()

我对python编程相当陌生,所以我承认我可能在写这篇文章时犯了一个愚蠢的错误。从我所看到的情况来看,用VBscript可以更轻松地完成这项工作,但我们的主管告诉我们必须用python完成。任何帮助都将不胜感激

在这里,文件在第一次调用GetUsers()后关闭-您应该删除F.close()

我的猜测是,真正的问题在于行中有无关的换行符,因此请尝试:

for CurrentIP in F.readlines():
    GetUsers( CurrentIP.strip() );

F.close()

就Python风格而言,四个空格的缩进远远优于一个空格,函数定义和局部变量名应该以小写字符开头(例如currentIp,getUsers())。

我刚刚格式化了代码,注意到返回的缩进错误。这可能是你的问题。非常感谢,这解决了它。:)