2013-10-28 49 views
1

我想知道如何編寫可以發送命令到PowerShell的C++代碼。我希望能夠解析輸出,但是現在我只想開始學習如何運行命令,並且可以學習稍後解析輸出。提前感謝任何能夠提供幫助的人。C++和Powershell

+0

看看這些其他線程。他們是基於c#的,但概念是相同的。 http://stackoverflow.com/questions/13251076/calling-powershell-from-c-sharp http://stackoverflow.com/questions/17067971/invoking-powershell-cmdlets-from-c-sharp – Jim

+0

這裏是另一個有幫助的鏈接的論壇帖子: http://forums.iis.net/t/1200231.aspx – Jim

+0

你是否願意編寫C++/CLI代碼,因爲這是你需要做的。 PowerShell引擎具有.NET API。 –

回答

0

下面是一個小樣本,應該讓你去:

#include "stdafx.h" 

using namespace System; 
using namespace System::Collections::ObjectModel; 
using namespace System::Management::Automation; 

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    PowerShell^ _ps = PowerShell::Create(); 
    _ps->AddScript("Get-ChildItem C:\\"); 
    auto results = _ps->Invoke(); 
    for (int i = 0; i < results->Count; i++) 
    { 
     String^ objectStr = results[i]->ToString(); 
     Console::WriteLine(objectStr); 
    } 

    return 0; 
} 

確保/clr開關爲您的C++項目啓用。