Скрипт запускается вручную, но не через c # - PullRequest
0 голосов
/ 22 мая 2018

Я написал простое консольное приложение, приложение работает с правами администратора, код основан на этой ссылке , пользователь вводит сценарий .ps1 (powershell) путь иприложение выполняет этот скрипт, который находится в этом пути.

Сначала я попробовал приложение по сценарию "Hello World", и оно отлично работает, но когда я пробую другой сценарий, powershell выдает ошибку.

У меня есть это в .ps1 scipt:

install-WindowsFeature smtp-server
Read-Host -Prompt “Press Enter to exit”

Удивительно, что если я запускаю эту команду install-WindowsFeature smtp-server вручную, она прекрасно работает.

, но мне нужно, чтобы приложение делало это, а не вручную.

Вот ошибка powershell:

install-WindowsFeature : The term 'install-WindowsFeature' is not recognized as the name of a cmdlet, function, script
file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
At c:\users\administrator\desktop\EnableSMTP.ps1:1 char:1
+ install-WindowsFeature smtp-server
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (install-WindowsFeature:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Press Enter to exit:

Ответы [ 3 ]

0 голосов
/ 22 мая 2018

Install-WindowsFeature - это командлет, предоставленный модулем ServerManager.Когда вы запускаете скрипт вручную, этот модуль уже должен быть импортирован в ваш сеанс.При запуске через программу модуль не импортируется и поэтому не распознает имя командлета.Попробуйте добавить Import-Module ServerManager в качестве первой строки в вашем скрипте и посмотрите, решит ли это вашу проблему.

0 голосов
/ 23 мая 2018

Это случилось со мной в прошлом.

В обозревателе решений щелкните правой кнопкой мыши проект -> Свойства -> Построить

Изменить цель платформы с «Любой ЦП» на x64

enter image description here

0 голосов
/ 22 мая 2018

Я думаю, вам может понадобиться заглавное "Я" ... Install-WindowsFeature

...