2013-10-25 174 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(); 
相關問題