Nicht die Funktion aufzurufen, weil die aktuellen host nicht implementiert c#
ich weiß, das ist auf diesem board, aber ich bin neu und nichts hat wirklich halped mir, so bin ich der Hoffnung, jemand kann einen Einblick. ich bekomme die folgende Fehlermeldung:
Nicht aufrufen dieser Funktion, da die aktuellen host nicht implementiert es
hier ist mein code
public static void runPowershellScript(string scriptName)
{
RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();
RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);
scriptInvoker.Invoke("Set-ExecutionPolicy Unrestricted");
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(scriptName);
pipeline.Invoke();
}
ich die variable pass-through ist mein Skript, es ist nicht ein problem haben.
- Meinst du, dass der server, den Sie versuchen, ein PowerShell-Skript nicht über PowerShell installiert ist? Oder sind Sie nicht berechtigt, die Ausführung der Politik? Es ist nicht wirklich klar, was dein problem ist.
- Versand Befehle auf der shell ist nicht sehr sicher sowieso. Ich weiß nicht, wer Ihre "current host" ist, aber wenn es eine kleine chance, die Sie installieren, was Sie brauchen, sind Sie gehen zu müssen, um diesen Ansatz einen anderen Weg.
- Host bedeutet hier, dass der Prozess "hosting" die powershell-engine, nicht der server oder die Firma, die Eigentümer der server.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie wahrscheinlich einige Funktionen sind host-spezifisch, was bedeutet, dass jeder Prozess, der die Gastgeber die PowerShell-engine (z.B. die powershell.exe, powershell_ise.exe Ihre c# - app) hat, um Implementierungen für Sie.
Im Allgemeinen, dazu gehören die *-host-Funktionen (write-host out-host, read-host), das Protokoll-Funktionen (start-transcript, stop-transcript), und einige andere.