Ustaw przez C # Powershell Variable
Muszę ustawić za pomocą C # zmienną w PowerShell i ponownie użyć tej zmiennej poprzez C # w Powershell, mój kod do tej pory:
var command = string.Format("$item = Invoke-RestMethod {0} ", "http://services.odata.org/OData/OData.svc/?`$format=json");
var command2 = string.Format("$item.value[0].name");
InvokeCommand.InvokeScript(command);
object namesOne= InvokeCommand.InvokeScript(command2);
W tym przypadku wyjście powinno być: Produkty
Ale ten C # nie działa, zmęczony też:
Runspace runSpace = RunspaceFactory.CreateRunspace();
runSpace.Open();
Pipeline pipeline = runSpace.CreatePipeline();
Command invoke = new Command("Invoke-RestMethod");
invoke.Parameters.Add("Uri", "http://services.odata.org/OData/OData.svc/?`$format=json");
pipeline.Commands.Add(invoke);
runSpace.SessionStateProxy.SetVariable("item", pipeline.Invoke());
var a = runSpace.SessionStateProxy.PSVariable.GetValue("item");
Command variable = new Command("Write-Host $item");
pipeline.Commands.Add(variable);
var output = pipeline.Invoke();
Ale to nie działa. Czy ktoś ma pomysł, jak mogę ustawić zmienną w PowerShell i może pracować z nią w Powershell zawsze przez C #?