0

В настоящее время я пытаюсь реализовать приведенную ниже команду ps в моем приложении C# forms.Как выполнить команду PowerShell в приложении формы Windows?

Im используя Quest Powershell Командлет

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

команду, представленную у меня работает, но я не могу получить код ниже, чтобы работать. Команда не найдена исключение «Термин Get-QADMemberOf не распознается как имя командлета

  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

Мы, вероятно, необходимо бит больше информации о том, что вы подразумеваете под «не может заставить его работать в моем приложении» ... Попробуйте запустить вашу команду в no-profile 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(); 
Смежные вопросы