Iis WMI/PowerShell错误:为什么CreateSite突然创建了*两个*站点?
我有一个简单的PowerShell脚本,它使用WMI在Vista框上创建网站。是的,我知道PowerShell有一个IIS提供程序用于处理IIS 7,但此脚本还必须支持IIS 6.0,因此排除了这一点 不管怎么说,这个脚本运行得很好,但是突然之间(我的意思是,我对脚本没有做任何代码更改),它开始为每次调用CreateNewSite方法创建第二个损坏的站点。下面是脚本。有人有什么想法吗Iis WMI/PowerShell错误:为什么CreateSite突然创建了*两个*站点?,iis,powershell,wmi,Iis,Powershell,Wmi,我有一个简单的PowerShell脚本,它使用WMI在Vista框上创建网站。是的,我知道PowerShell有一个IIS提供程序用于处理IIS 7,但此脚本还必须支持IIS 6.0,因此排除了这一点 不管怎么说,这个脚本运行得很好,但是突然之间(我的意思是,我对脚本没有做任何代码更改),它开始为每次调用CreateNewSite方法创建第二个损坏的站点。下面是脚本。有人有什么想法吗 $path = "C:\My Path\WebSite" $site = "TestSite" $hostHea
$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只是一辆马车吗?哎呀,回答了我自己的问题。我检查了原始IIS 7.0配置文件,发现了一个孤立的虚拟目录,该目录与ID为1786339847的站点关联。当我从配置文件中删除该虚拟目录时,脚本再次开始正常工作
如果有人遇到类似情况,请在删除之前从IIS管理器中获取坏站点的站点ID,然后打开C:\Windows\system32\inetsrv\config\applicationHost.config。扫描文件以查找该ID,并查找对该ID的任何孤立引用首先确保您有备份。哇,回答了我自己的问题。我检查了原始IIS 7.0配置文件,发现了一个孤立的虚拟目录,该目录与ID为1786339847的站点关联。当我从配置文件中删除该虚拟目录时,脚本再次开始正常工作 如果有人遇到类似情况,请在删除之前从IIS管理器中获取坏站点的站点ID,然后打开C:\Windows\system32\inetsrv\config\applicationHost.config。扫描文件以查找该ID,并查找对该ID的任何孤立引用首先确保您有备份。