问题描述
虽然我可以创建细粒度的策略并使用“Add-ADFineGrainedPasswordPolicySubject”命令行开关应用这些策略,但没有任何问题。但是,虽然这些命令行开关是从 C# 程序中引用的,但它开始抱怨 Get-ADFineGrainedPasswordPolicySubject
和 Add-ADFineGrainedPasswordPolicySubject
作为“术语 Get-ADFineGrainedPasswordPolicySubject”未被识别为命令行开关或函数。
我真的不知道。我已经导入了“Active Directory”模块,但仍然一直抛出异常。
没有在互联网上的某处找到任何解决方案,有点卡住了。
请参考以下源代码。
using (var powerShell = PowerShell.Create())
{
powerShell.Commands.AddCommand("Import-Module").AddArgument("ActiveDirectory");
powerShell.Invoke();
powerShell.Commands.Clear();
powerShell.Commands.AddCommand(new Command("Get-ADDefaultDomainPasswordPolicy",true));
ICollection<PSObject> defaultDomainPasswordPolicyOutput = powerShell.Invoke();
if (defaultDomainPasswordPolicyOutput != null)
{
defaultDomainPasswordPolicyOutput.ToList().ForEach(policy =>
{
var newFineGrainedpolicyCmdLet = $"New-ADFineGrainedPasswordPolicy -Name preppedPolicy -Precedence 1";
powerShell.Commands.AddCommand(new Command(newFineGrainedpolicyCmdLet,true));
powerShell.Invoke();
Console.WriteLine("Error Count : {0}",powerShell.Streams.Error.Count);
var fineGrainedPolicySubjCmdLetASked = $"Get-ADFineGrainedPasswordPolicySubject -Identity preppedPolicy";
powerShell.Commands.AddCommand(fineGrainedPolicySubjCmdLetASked);
powerShell.Invoke();
var fineGrainedPolicySubjCmdLet = $"Add-ADFineGrainedPasswordPolicySubject -Identity preppedPolicy -Subjects S-ahpOneserver";
powerShell.Commands.AddCommand(fineGrainedPolicySubjCmdLet);
powerShell.Invoke();
});
}
else
{
Console.WriteLine("Policies dont found.");
Console.ReadLine();
}
}
}
catch(Exception ex)
{
Console.WriteLine("Inside exception area : ");
Console.WriteLine("Exceptions {0}",ex);
Console.ReadLine();
}
该程序可以在具有 .NET 环境的 Windows Server 2012 R2 上运行,并在那里抛出上述异常。
知道如何摆脱这种情况吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)