如何使用 java 列出在 Windows 机器 (Win2000+) 上配置的所有本地用户。
如果可能的话,我更愿意使用任何 java 2 com 桥或任何其他第三方库来执行此操作。
最好使用 Java 的一些 native 方法。
最佳答案
使用 Java-COM 桥,例如 Jacob .然后选择合适的 COM 库,例如COM API for WMI列出本地用户或任何其他 Windows 管理信息。
Win32_SystemUsers关联 WMI 类关联计算机系统和该系统上的用户帐户。
Win32_Account抽象 WMI 类包含有关运行 Windows 的计算机系统已知的用户帐户和组帐户的信息。 Windows NT 域识别的用户名或组名是此类的后代(或成员)。
工作示例(jacob 1.17-M2、javaSE-1.6):
import java.util.Enumeration;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.EnumVariant;
import com.jacob.com.Variant;
public class ComTst {
public static void main(String[] args) {
ComThread.InitMTA();
try {
ActiveXComponent wmi = new ActiveXComponent("winmgmts:\\\\.");
Variant instances = wmi.invoke("InstancesOf", "Win32_SystemUsers");
Enumeration<Variant> en = new EnumVariant(instances.getDispatch());
while (en.hasMoreElements())
{
ActiveXComponent bb = new ActiveXComponent(en.nextElement().getDispatch());
System.out.println(bb.getPropertyAsString("PartComponent"));
}
} finally {
ComThread.Release();
}
}
}
关于java - 使用 Java,如何获取 Windows 机器上所有本地用户的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/333812/