У меня есть простой сценарий PowerShell, который использует WMI для создания веб-сайта на Windows Vista. Да, я знаю, что в PowerShell есть поставщик IIS для работы с IIS 7, но этот сценарий также должен поддерживать IIS 6.0, что исключает это.
В любом случае, скрипт работал просто отлично, но внезапно (и я имею в виду, что буквально я сделал нулевые изменения кода в скрипте) он начал создавать второй сломанный сайт для каждого вызова метода CreateNewSite. Ниже приведен сценарий. У кого-нибудь есть идеи?
$path = "C:\My Path\WebSite"
$site = "TestSite"
$hostHeader = "demo.blah.com"
$service = Get-WmiObject -namespace "root\MicrosoftIISv2" -class "IIsWebService"
$bindingClass = [wmiclass]'root\MicrosoftIISv2:ServerBinding'
$bindings = $bindingClass.CreateInstance()
$bindings.IP = ""
$bindings.Port = "80"
$bindings.Hostname = $hostHeader
$result = $service.CreateNewSite($site, $bindings, $path)
Приведенный выше сценарий просто создавал сайт с именем «TestSite», но теперь он также создает сайт с именем «SITE_1786339847» (число меняется, но оно всегда похоже на это). Я прошел через скрипт, выполняющий по одной строке за раз, и ни один сайт не создается, пока не будет вызван метод CreateNewSite. WMI просто глючит?