Ich versuche, die Antwort des Powershell-Skripts zu drucken, die zeigt, dass die Dienste auf einem Remote-Host ausgeführt werden.Wie wird C# RunSpace für PowerShell bereitgestellt?
Wenn ich dies auf Powershell ausführen, bekomme ich die gewünschte Ausgabe. Aber wenn ich dasselbe mit C# versuche, bekomme ich die folgende Ausnahme.
Es ist kein Runspace verfügbar, um Skripts in diesem Thread auszuführen. Sie können einen in der DefaultRunspace-Eigenschaft des System.Management.Automation.Runspaces.Runspace-Typs bereitstellen.
Der Code, den ich verwende ist:
var powerShell = PowerShell.Create().AddScript(script);
var results = powerShell.Invoke();
foreach (var item in results)
{
try
{
Console.WriteLine(item);
}
catch (ExtendedTypeSystemException e)
{
Console.WriteLine(e);
break;
}
}
Edit: Output in Powershell
Status Name DisplayName
------ ---- -----------
Stopped AdtAgent Microsoft Monitoring Agent Audit Fo...
Stopped AeLookupSvc Application Experience
Stopped ALG Application Layer Gateway Service
Stopped AppIDSvc Application Identity
Running Appinfo Application Information
Stopped AppMgmt Application Management
Stopped AppReadiness App Readiness
Stopped AppXSvc AppX Deployment Service (AppXSVC)
Stopped AudioEndpointBu... Windows Audio Endpoint Builder
Stopped Audiosrv Windows Audio
Running BFE Base Filtering Engine
Running BITS Background Intelligent Transfer Ser...
Running BrokerInfrastru... Background Tasks Infrastructure Ser...
Stopped Browser Computer Browser
Running CcmExec SMS Agent Host
Running CertPropSvc Certificate Propagation
Stopped CmRcService Configuration Manager Remote Control
Running COMSysApp COM+ System Application
Running CryptSvc Cryptographic Services
Running DcomLaunch DCOM Server Process Launcher
Stopped defragsvc Optimize drives
Ausgang mit C#
System.Management.Automation. ExtendedTypeSystemException: Die folgende e Beim Abrufen der Zeichenfolge ist eine Xception aufgetreten: "Exception " ToString "mit" 0 "-Argument (en) aufrufen:" Es gibt keine Runspace zum Ausführen von Skripts in diesem Thread. Sie können einen in der DefaultRunspace-Eigenschaft des System.Management.Automation.Runspaces.Runspace-Typen bereitstellen. Der Skriptblock Sie war versucht aufzurufen: $ this.ServiceName "" --->
Powershell-Version ist 3. Visual Studio Version 2010 Ultimate