PowerShell New-Localuser не распознается по C#, несмотря на необходимые пакетыC#

Место общения программистов C#
Ответить
Anonymous
 PowerShell New-Localuser не распознается по C#, несмотря на необходимые пакеты

Сообщение Anonymous »

Я пытаюсь создать нового локального пользователя в Windows, выполнив сценарий PowerShell из приложения C# Console.
Я уже установил необходимые пакеты Nuget:
microsoft.powershell.sdk (v7.5.2)
powershell. /> Я использую system.management.automation.powershell.create () < /code> в моем коде C# для запуска сценария. Вот упрощенная версия: < /p>
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>

The term 'New-LocalUser' is not recognized as the name of a cmdlet, function, script file, or operable program...
< /code>
Я подтвердил, что: < /p>

Приложение запускается как администратор (через манифест приложения с требованиями) < /p>
< /li>
scripts explicty использует Import-omodule. /> < /li>
Один и тот же код PowerShell работает правильно, когда запускается вручную из повышенного сеанса PowerShell < /p>
< /li>
< /ul>
Несмотря на все это, когда запускается через PowerShell.Create () < /ul>, код, я не узнаю. Интересно: < /p>

microsoft.powershell.sdk не подвергает полного набора модуля при запуске в этом контексте? /> < /li>
Есть ли лучший способ разместить PowerShell с полным доступом к локальной учетной записи?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... packages-b
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»