如何在C#中使用WMI删除管理员组的用户本地帐户。 (不使用System.DirectoryServices
和System.DirectoryServices.AccountManagement
)。
我试过这段代码。但我不知道如何运行它。
using (var myDeleteUser = new StreamWriter("DeleteUser.vbs"))
{
myDeleteUser.WriteLine("Set objAdminGroup = GetObject(\"WinNT://" + hostHame + "/" + Settings.AdministratorsGroup + ",group\")");
myDeleteUser.WriteLine("Set objUser = GetObject(\"WinNT://" + domain + "/" + userName + ",user\")");
myDeleteUser.WriteLine("objAdminGroup.Remove(objUser.ADsPath)");
}
编辑: 我试着这样做:
Process proc = new Process();
proc.StartInfo.FileName = "DeleteUser.vbs";
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
proc.WaitForExit();
int exitCode = proc.ExitCode;
proc.Close();
但我在VBS文件中有错误(vbs权限被拒绝Getobject)。
答案 0 :(得分:0)
您想要Win32_UserAccount 请注意这里的c#代码实现 - 删除顶部应该是微不足道的
Enumerate Windows user group members on remote system using c#
您是要删除该帐户,还是仅从该群组中移除? 如果要从组中删除,请检查Win32_GroupUser对象。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa394153%28v=vs.85%29.aspx