using System;
using System.DirectoryServices;
using System.Collections;
namespace AddLocalAdmin
{
class Program
{
public static void AddGroupToLocalAdmins(string GroupAdd)
{
bool IsPresent = false;
DirectoryEntry grp = new DirectoryEntry("WinNT://" + Environment.MachineName + "/Administrators,group");
object members = grp.Invoke("members", null);
foreach (object groupMember in (IEnumerable)members)
{
DirectoryEntry member = new DirectoryEntry(groupMember);
if (member.Name == GroupAdd) IsPresent = true;
}
if (!IsPresent) grp.Invoke("Add", "WinNT://" + Environment.MachineName + "/" + GroupAdd + ",group");
else
{
Console.WriteLine("Already present");
}
grp.CommitChanges();
}
public static void Main(string[] args)
{
try
{
AddGroupToLocalAdmins(args[0]);
Console.WriteLine("huj {0}", args[0]);
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\n" + ex.StackTrace + "\n" + ex.Source);
Console.ReadLine();
}
}
}
}
Якщо замість локальної додаємо доменну групу, то в методі grp.Invoke замість парамтеру "WinNT://" + Environment.MachineName + "/" + GroupAdd + ",group" вказуємо "WinNT:///" + GroupAdd + ",group"
Можливо комусь цей код і стане в нагоді.
Немає коментарів:
Дописати коментар