我使用 System.Management.Automation 与 powershell 和 c# 一起工作,我想使用 Remove-ADUser 命令,但出现错误:这里是我的代码。
public bool RemoveADUser(string sAMAccountName) {
Security key = new Security();
try
{
ADPASSWORD = key.PasswordDecrypt("vnPYuGoPSvrSjDC+/5lUTQ==");
//ADPASSWORD = "vnPYuGoPSvrSjDC+/5lUTQ==";
SecureString SECUREADADMINPASSWORD = new SecureString();
foreach (char x in sAMAccountName)
{
SECUREADADMINPASSWORD.AppendChar(x);
}
SecureString pw = new SecureString();
foreach (char x in ADPASSWORD)
{
pw.AppendChar(x);
}
InitialSessionState initial = InitialSessionState.CreateDefault();
Environment.SetEnvironmentVariable("ADPS_LoadDefaultDrive", "0");
initial.ImportPSModule(new string[] { "ActiveDirectory" });
PSCredential crend = new PSCredential(ADNAME, pw);
using (Runspace runspace = RunspaceFactory.CreateRunspace(initial))
{
runspace.Open();
using (Pipeline p = runspace.CreatePipeline())
{
Command command = new Command("Remove-ADUser");
command.Parameters.Add("Identity", sAMAccountName);
command.Parameters.Add("Credential", crend);
p.Commands.Add(command);
p.Invoke();
return true;
}
}
}
catch (Exception)
{
return false;
}
finally
{
}
}
代码转到 p.Invoke(); 但后来我收到这条消息:
在德国:
Fehler 在 einem Befehl mit einer Eingabeaufforderung。Vom Hostprogramm oder Befehlstyp wird keine Benutzerinteraktion unterstützt。Für den Versuch, die Bestätigung anzufordern, wurde vom Host folgende Meldung verwendet: Möchten Sie dieese Aktion wirklich ausführen?
用英语讲:
带有命令提示符的命令出错。主机程序或命令类型不支持用户交互。对于实验,为了请求确认,来自所用主机的以下消息是:您要执行此操作吗?