Powershell - командлет нового веб-сайта не работает при вызове через веб-интерфейс - PullRequest
0 голосов
/ 07 января 2020

Я надеюсь, что кто-то может помочь мне со следующим:

Я создал скрипт для установки веб-сайта на основе существующего сайта.
Сценарий выполняет несколько шагов - копирует каталоги, восстанавливает БД, создает веб-сайт и пул приложений и т. Д. c.
Он отлично работает из интерфейса командной строки Powershell под учетной записью администратора.
Я создал интерфейс WinForms для этот скрипт, который ссылается на Powershell, а также прекрасно выполняет этот скрипт.
Теперь я хочу создать для него веб-интерфейс. (как объяснено здесь: http://devinfra-us.blogspot.com/2011/02/using-powershell-20-from-aspnet-part-1.html)
Однако я не могу заставить командлет 'new-website' работать через веб-интерфейс. Все остальные шаги в скрипте работают, включая 'new-WebappPool' (я вижу новый appPool в диспетчере IIS). Я не получаю никаких ошибок ..
Я удостоверился, что скрипт работает с правами администратора (безопасность не проблема на данный момент)

Ниже приведен некоторый вывод из расшифровка стенограммы Powershell:

**********************
Windows PowerShell transcript start
Start time: 20200106164117
Username: NNN-WEB\adminArr     <-- Administrator account
RunAs User: NNN-WEB\adminArr
Machine: NNN-WEB (Microsoft Windows NT 10.0.14393.0)
Host Application: c:\windows\system32\inetsrv\w3wp.exe -ap DefaultAppPool -v v4.0 -l webengine4.dll -a \\.\pipe\iisipmd4bdced8-d455-428b-b9ef-8b3e2bfb38dd -h C:\inetpub\temp\apppools\DefaultAppPool\DefaultAppPool.config -w  -m 0 -t 20 -ta 0
Process ID: 8448
PSVersion: 5.1.14393.3383
PSEdition: Desktop
PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.14393.3383
BuildVersion: 10.0.14393.3383
CLRVersion: 4.0.30319.42000
WSManStackVersion: 3.0
PSRemotingProtocolVersion: 2.3
SerializationVersion: 1.1.0.1

Ответы [ 2 ]

0 голосов
/ 13 января 2020

Хотя в моем сценарии я также использовал команды, упомянутые в примере Jalpa, я все равно попробовал его пример сценария. Я получил сообщение об ошибке «Невозможно добавить дубликат записи коллекции типа« site »с уникальными ключевыми атрибутами« name, id »и, соответственно,« mike3, 2 », которые я не получил, используя свой собственный скрипт ...
Спасибо к этой ошибке я выяснил, что если уже есть какие-то существующие сайты, вы также должны указать параметр 'ID' команды new-website - так, как 'new-website -Name' testsite '-Id 4 et c. '. Идентификатор должен быть номером, который не используется никакими другими сайтами.
Это заставило его работать: -)

0 голосов
/ 10 января 2020

Вы можете использовать приведенную ниже команду PowerShell для создания сайта в iis:

Import-Module WebAdministration
New-WebAppPool NewAppPool
New-Website -Name "mike" -Port 8086 -PhysicalPath c:\casp -ApplicationPool NewAppPool

enter image description here

enter image description here

Не забудьте обновить sh iis после выполнения команды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...