2
我有一个计算机列表(存储在数据库中),我想以编程方式在这些计算机上找到localadmins,以便我可以将该信息存储在数据库中。获取一组服务器的LocalAdmins服务器
我知道这可以使用PowerShell来完成。但是寻找一种方式来使用C#做同样的事情
我怎么做,
我有一个计算机列表(存储在数据库中),我想以编程方式在这些计算机上找到localadmins,以便我可以将该信息存储在数据库中。获取一组服务器的LocalAdmins服务器
我知道这可以使用PowerShell来完成。但是寻找一种方式来使用C#做同样的事情
我怎么做,
我只是尽我的本地计算机上的代码,它工作正常:
string hostName = "myComputer";
//get machine
using (DirectoryEntry machine = new DirectoryEntry("WinNT://" + hostName))
{
//get local admin group
using (DirectoryEntry group = machine.Children.Find("Administrators", "Group"))
{
//get all members of local admin group
object members = group.Invoke("Members", null);
foreach (object member in (IEnumerable)members)
{
//get account name
string accountName = new DirectoryEntry(member).Name;
//DO SOMETHING...
}
}
}
我可以在远程计算机上检查它,直到我重新开始工作,但假定您正在远程计算机上拥有权限的帐户下运行,我应该想象它会起作用。
感谢大卫的回应。所以,这将给出在本地机器上的任何组成员的名单..好吗?我试图让远程机器列表上的LocalAdmins。我想从我的桌面运行该程序,并在同一个域和信任域中的远程计算机列表上获取localadmins列表。 – 2010-05-09 05:35:53
按上述修改。 – 2010-05-09 12:23:37
是的..这很好。我只需要在顶部添加 - 使用system.collections.generic。 非常感谢。 – 2010-05-22 01:38:38