【转】winform 获取本地 用户 用户组 服务
//现在form上加一个System.Windows.Forms.TreeView viewPC;
private System.DirectoryServices.DirectoryEntry entryPC = new System.DirectoryServices.DirectoryEntry();
private void Form1_Load(object sender, EventArgs e)
{
TreeNode users = new TreeNode("Users");
TreeNode groups = new TreeNode("Groups");
TreeNode services = new TreeNode("Services");
viewPC.Nodes.AddRange(new TreeNode[] { users, groups, services });
entryPC.Path = "WinNT://计算机名";
foreach (System.DirectoryServices.DirectoryEntry child in entryPC.Children)
{
TreeNode newNode = new TreeNode(child.Name);
switch (child.SchemaClassName)
{
case "User":
users.Nodes.Add(newNode);
break;
case "Group":
groups.Nodes.Add(newNode);
break;
case "Service":
services.Nodes.Add(newNode);
break;
}
AddPathAndProperties(newNode, child);
}
}
private void AddPathAndProperties(TreeNode node, System.DirectoryServices.DirectoryEntry entry)
{
node.Nodes.Add(new TreeNode("Path: " + entry.Path));
TreeNode propertyNode = new TreeNode("Properties");
node.Nodes.Add(propertyNode);
foreach (string propertyName in entry.Properties.PropertyNames)
{
string oneNode = propertyName + ": " +
entry.Properties[propertyName][0].ToString();
propertyNode.Nodes.Add(new TreeNode(oneNode));
}
}

浙公网安备 33010602011771号