問題描述
如何使用 java 列出在 windows 機器 (Win2000+) 上配置的所有本地用戶.
如果可能的話,我寧愿使用任何 java 2 com 網橋或任何其他第三方庫來執行此操作.
首選Java的一些本機方法.
How can I list all the local users configured on a windows machine (Win2000+) using java.
I would prefer doing this with ought using any java 2 com bridges, or any other third party library if possible.
Preferable some native method to Java.
推薦答案
使用 Java-COM Bridge ,例如 Jacob.然后選擇適當的 COM 庫,例如COM API for WMI 列出本地用戶,或任何其他 Windows 管理信息.
Using a Java-COM Bridge , like Jacob. You then select an appropriate COM library, e.g. COM API for WMI to list local users, or any other Windows management information.
Win32_SystemUsers 關聯 WMI 類計算機系統和該系統上的用戶帳戶.
The Win32_SystemUsers association WMI class relates a computer system and a user account on that system.
Win32_Account 抽象 WMI 類包含有關運行 Windows 的計算機系統已知的用戶帳戶和組帳戶的信息.Windows NT 域識別的用戶或組名是此類的后代(或成員).
The Win32_Account abstract WMI class contains information about user accounts and group accounts known to the computer system running Windows. User or group names recognized by a Windows NT domain are descendants (or members) of this class.
工作示例(jacob 1.17-M2、javaSE-1.6):
Working Example (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,如何獲取 Windows 機器上所有本地用戶的列表的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!