Início > C++, PowerShell, Windows > Rodando um comando PowerShell com Visual C++

Rodando um comando PowerShell com Visual C++

Segue um código que pode ser útil, efetuando adaptações necessárias:

try{
this->outLog->Text = this->outLog->Text + "\nHabilitando mailbox para " + this->userTxt->Text;
			
RunspaceConfiguration ^runspaceConfig = RunspaceConfiguration::Create();
Runspace ^runspace = RunspaceFactory::CreateRunspace(runspaceConfig);
// open it
runspace->Open();

Pipeline ^pipeline = runspace->CreatePipeline();
// este é o script que vou executar, repare que é um do Exchange
String ^scriptText2007 = "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\PowerShell.exe -command \". 'C:\\Program Files\\Microsoft\\Exchange Server\\V14\\bin\\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Enable-Mailbox -Identity 'corprd.bradesco.com.br/Users/" + this->userTxt->Text + "' -Alias '" + this->userTxt->Text + "'\"";
//String ^scriptText2007 = C:\\bats\\teste2.ps1;

pipeline->Commands->AddScript(scriptText2007);

Collection ^results = pipeline->Invoke();
			
runspace->Close();

StringBuilder^ stringBuilder = gcnew StringBuilder(); 
for (int i = 0; i Count; i++ ) { 
    stringBuilder->AppendLine(results[i]->ToString());
}
this->outLog->Text = this->outLog->Text + "\nParseou resultados";
IntPtr result = Marshal::StringToBSTR(results->ToString());
String ^answer= stringBuilder->ToString(); 
IntPtr ptr = Runtime::InteropServices::Marshal::StringToBSTR(answer);
this->outLog->Text = this->outLog->Text + answer;

} catch (Exception ^err) {
			this->outLog->Text = this->outLog->Text + "\nERRO Habilitar MailBox";
			IntPtr msg = Marshal::StringToBSTR(err->Message);
			this->outLog->Text = this->outLog->Text + err->Message;
}

Enjoy!

Categorias:C++, PowerShell, Windows Tags:,
  1. maio 18, 2014 às 1:07 am

    onde da play nisso?

  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: