在C#中安装Active Directory域服务

时间:2013-12-20 21:36:18

标签: c# powershell active-directory

我需要在Windows Server 2012计算机上安装AD。是否有任何允许这样做的.Net类,而不使用Powershell?

如果我在C#中使用powershell:

command = "powershell.exe -Command \"& {Install-windowsfeature -name AD-Domain-Services –IncludeManagementTools}\""
procStartInfo = new ProcessStartInfo("cmd", "/c " + command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
result = proc.StandardOutput.ReadToEnd();

我有错误:

  

Install-windowsfeature:术语“Install-windowsfeature”不是   识别\ nas cmdlet,函数,脚本文件或的名称   可操作的程序。

这很奇怪,因为在Powershell中可以识别Install-windowsfeature。

感谢您的回答。

1 个答案:

答案 0 :(得分:0)

Install-Windowsfeature cmdlet似乎仅在64位ps会话中可用。 如果您从32位应用程序或cmd窗口启动,请使用完整路径启动powershell:

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe

如果您在64位会话中,则应返回8:

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -command {[intptr]::size}