Windows RT中的Powershell命令

我正在Windows RT中开发一个应用程序。我确实需要在Windows RT(C#)中运行/调用PowerShell或CMD命令,请帮我弄明白。 提前致谢

虽然无法直接针对Windows RT中的PowerShell .NET引擎进行编程,但您可以通过套接字访问桌面。 但是,这假定您有能力确保桌面套接字侦听器已安装并正在运行。 但是,在这个位置和运行,你可以发出命令,让它调用cmd.exe(或PowerShell通过EXE或in-proc引擎)。 在WinRT中有什么好处是可以连接和使用PowerShell远程端点的引擎组件。 考虑到最终只是一个套接字,可以由微软以外的人来完成,但是你必须通过许多WS-MAN协议来弄清楚它是如何工作的。 我想通过套接字发送一个简单的字符串可能会更容易,例如'powershell -command "& { Get-Process }"''cmd /c dir c:\' 。 🙂

这里有一些代码片段作为概念证明:

WinRT代码片段:

 private async void _button_OnClick(object sender, RoutedEventArgs e) { string content; try { var client = new HttpClient(); client.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); var response = await client.GetAsync("http://localhost:54649/"); if (response.StatusCode == HttpStatusCode.OK) { content = await response.Content.ReadAsStringAsync(); } else { content = response.StatusCode.ToString(); } } catch (Exception ex) { content = ex.Message; } await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { _textBlock.Text = content; }); } 

在桌面上,这是一个脑死的MVC控制器的片段:

 public class HomeController : Controller { // // GET: /Home/ public string Index() { return "Hello World. The time is " + DateTime.Now; } }