Я пытаюсь создать нового локального пользователя в Windows, запустив сценарий PowerShell из приложения C# Console. Я установил необходимые пакеты Nuget Microsoft.PowerShell.sdk (V7.5.2) и System.Management.Automation. Я использую System.Management.Automation.PowerShell.Create () в моем коде C# для запуска скрипта:
using System.Management.Automation;
using (var ps = PowerShell.Create())
{
ps.AddScript(@"
Import-Module Microsoft.PowerShell.LocalAccounts
$password = ConvertTo-SecureString 'Password123!' -AsPlainText -Force
New-LocalUser -Name 'TestUser' -Password $password -FullName 'Test User' -Description 'Created from C#'
");
var results = ps.Invoke();
if (ps.HadErrors)
{
foreach (var error in ps.Streams.Error)
Console.WriteLine("Error: " + error.ToString());
}
}
< /code>
Ошибка при выполнении сценария: < /p>
Термин «new-localuser» не распознается как имя Cmdlet, функцию, файл сценария или оперативная программа ... < /p>
< /> blockquote>
Apmisionester as Adminifester as Adminifester as Adminifester as Adminifester as Adminifester as Adminifester>
Сценарий явно запускает импорт-модуль Microsoft.powershell.localaccounts. < /li>
Тот же код PowerShell работает, когда работают вручную из-за этого сессии PowerShell. PowerShell.create () < /code> Новолокаллесный cmdlet не распознается. Microsoft.powershell.localaccounts?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... f-a-cmdlet