【发布时间】:2011-10-21 17:00:10
【问题描述】:
如何在 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)。
【问题讨论】:
-
所做的只是编写一个 3 行的 VBScript 文件。你为什么要这样做?只需自己创建 VBS 并运行它。