Мне необходимо создать программно новый сайт в IIS. Для этого использую команду:
System.Diagnostics.Process.Start ( @"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe", "-noexit -executionpolicy Unrestricted New-WebSite -Name \"TestSite\" -Port 80 -HostHeader \"TestSite\" -PhysicalPath " + "\"" + strPath + @"\MyFolderTest\""" );
Не работает. При попытке выполнения сообщает об отсутствии терминатора:
The string is missing the terminator: ".
CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordEx ception
FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
Вывел свою команду в текстовый файл, выполнил, всё работает. А вот программно не хочет, хотя теперь это явно одна и та же строка. Пробовал экспериментировать с executionpolicy, но вряд ли это из-за разрешения на скрипты... Я его вообще по сути на всякий пожарный ставлю.
В общем, что в этой команде не так? Можно ли как-то вывести то, что пытался выполнить PowerShell, чтобы я мог сравнить строки?
Подсказали как правильно
string.Format(" -noexit -executionpolicy Unrestricted New-WebSite -Name 'TestSite' -Port 80 -HostHeader 'TestSite' -PhysicalPath '{0}\\MyFolderTest'", strPath);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости