Какая ссылка для PowerShell в .NET? - PullRequest
1 голос
/ 03 апреля 2019

Я пытался запустить скрипт PowerShell в C #.Но это выдает и ошибка:

PowerShell doesn't available in current context. 

Я искал в Google, но я не получил решение, пожалуйста, помогите.Это мой код:

string text = System.IO.File.ReadAllText(@"C:\Program Files (x86)\Backup Reporter\Required\edit_website.ps1");    
using (PowerShell PowerShellInstance = PowerShell.Create())
{
    // use "AddScript" to add the contents of a script file to the end of the execution pipeline.
    // use "AddCommand" to add individual commands/cmdlets to the end of the execution pipeline.
    PowerShellInstance.AddScript(text);

    if (PowerShellInstance.Streams.Error.Count > 0)
    {
        Console.Write("Error");
    }
    Console.ReadKey();
}

Ответы [ 3 ]

0 голосов
/ 03 апреля 2019

Загрузите и добавьте пакеты System.Management.Automation и System.Management.Automation.Runspaces из VS Nuget Manager в ваш проект.

https://powershell.org/forums/topic/executing-powershell-from-c/

0 голосов
/ 03 апреля 2019

PowerShell класс существует в Windows PowerShell SDK 1.1.0 , который вы добавили в свой проект с помощью этого пакета NuGet: https://www.nuget.org/packages/System.Management.Automation/

PM> Install-Package System.Management.Automation -Version 6.2.0
0 голосов
/ 03 апреля 2019

Вам необходимо скачать System.Management.Automation и прикрепить его к своему проекту:

https://www.nuget.org/profiles/PowerShellTeam

...