2013-10-25 135 views
0

我目前正试图在我的c#表单应用程序中实现下面的ps命令。如何在Windows窗体应用程序中运行PowerShell命令?

使用im任务PowerShell命令

Add-PSSnapin -Name Quest.ActiveRoles.ADManagement 
    get-qadmemberof -identity 'ssc\rpimentel' | Where-Object {$_.Name -ne "Domain Users"} | Add-QADGroupmember -member 'ktest' 

的PowerShell命令我有工作,但我不能让下面的代码工作。未发现异常命令抛出“一词GET-QADMemberOf不被识别为cmdlet的名称

  PowerShell ps = PowerShell.Create(); 

      PSCommand cmd1 = new PSCommand(); 
      cmd1.AddCommand("Import-Module"); 
      cmd1.AddParameter("activedirectory"); 
      cmd1.AddCommand("Add-PSSnapin"); 
      cmd1.AddParameter("Name", "Quest.ActiveRoles.ADManagement"); 
      cmd1.AddCommand("Get-QADMemberOf"); 
      cmd1.AddParameter("identity", "rpimentel"); 
      cmd1.AddCommand("where-object"); 
      ScriptBlock filter = ScriptBlock.Create("$_.Name -ne 'Domain Users'"); 
      cmd1.AddParameter("FilterScript", filter); 
      cmd1.AddCommand("Add-QADGroupmember"); 
      cmd1.AddParameter("Member", "ktest"); 

      ps.Commands = cmd1; 
      ps.Invoke(); 
+0

我们可能会需要一个更多的信息,你的意思是“无法让它在我的应用程序中工作”...尝试在没有配置文件的PowerShell中运行你的命令,看看它是否仍然有效 –

+0

不知道你的意思。 。我创建了一个当我点击一个按钮时执行的方法。以上是我在该方法中的代码。 –

+0

是的,那么*问题是什么*?它是如何工作的?你有没有尝试过?你可以让它在PowerShell中做一个更简单的命令,比如'get-childitem'?编辑问题向我们提供更多详细信息,以便我们可以帮助您。 –

回答

2

按我的意见也许尝试以下操作:

 PowerShell ps = PowerShell.Create(); 

     PSCommand cmd1 = new PSCommand(); 
     cmd1.AddCommand("Import-Module"); 
     cmd1.AddParameter("activedirectory"); 
     ps.Commands = cmd1; 
     ps.Invoke(); 

     cmd1.AddCommand("Add-PSSnapin"); 
     cmd1.AddParameter("Name", "Quest.ActiveRoles.ADManagement"); 
     ps.Commands = cmd1; 
     ps.Invoke(); 

     cmd1.AddCommand("Get-QADMemberOf"); 
     cmd1.AddParameter("identity", "rpimentel"); 
     cmd1.AddCommand("where-object"); 
     ScriptBlock filter = ScriptBlock.Create("$_.Name -ne 'Domain Users'"); 
     cmd1.AddParameter("FilterScript", filter); 
     cmd1.AddCommand("Add-QADGroupmember"); 
     cmd1.AddParameter("Member", "ktest"); 
     ps.Commands = cmd1; 
     ps.Invoke(); 
相关问题