Du kannst Powershell mit _popen/_pclose als eigenen Prozess ausführen und das Output in einen Puffer lesen.
std::string result;
FILE* pipe = _popen(full.c_str(), "r"); // Windows: _popen
if (!pipe) return;
char buf[4096];
while (fgets(buf, sizeof(buf), pipe))
result += buf;
_pclose(pipe);