现在我正在运行这个powershell脚本:
Param (
$websiteName,
$physicalPath
)
import-module WebAdministration
$website = get-website | where-object { $_.name -eq "$websiteName" }
if($website -eq $null){
New-webapppool -Name "$websiteName"
Set-WebConfiguration -filter "/system.applicationHost/applicationPools/add[@name='$websiteName']" -PSPath IIS:\ -value (@{managedRuntimeVersion="v4.0"})
New-website -Name "$websiteName" -PhysicalPath "$physicalPath" -ApplicationPool "$websiteName"
start-website "$websiteName"
}
字符串
我使用以下命令来运行脚本:
& .\InstallWebsite.ps1 -websiteName "MyWebsite" -physicalPath "C:\TEST\MyWebsite"
型
一切正常,除了if语句中的最后一个命令:
start-website "$websiteName"
型
当该命令运行时,我收到以下错误,我无法成功排除故障:
Start-Website : Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)
At line:1 char:14
+ start-website <<<< "MyWebsite"
+ CategoryInfo : InvalidOperation: (:) [Start-Website], COMException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.IIs.PowerShell.Provider.StartWebsiteCommand
型
我也有以下脚本删除网站,如果它的问题:
Param (
$websiteName,
$appPoolName
)
import-module WebAdministration
$website = get-website | where-object { $_.name -eq "$websiteName" }
if($website -ne $null){
remove-website -Name "$websiteName"
remove-webapppool -Name "$websiteName"
}
型
我使用以下命令运行它:
& .\UninstallWebsite.ps1 -websiteName "MyWebsite" -appPoolname "MyWebsite"
型
4条答案
按热度按时间fcy6dtqo1#
错误消息:
开始网站:无法创建已存在的文件。
...通常意味着你有一个绑定冲突,那里已经有一个站点运行在相同的IP地址,端口,如果你正在使用它们,主机头。
我会在IIS MMC中检查您的新站点绑定,然后找出是否有其他东西使用完全相同的绑定。
ecbunoof2#
如果IIS配置中没有任何网站,则会发生相同的错误。原因是在
applicationHost.config
结束时有额外的旧记录。在IIS管理器中,这些都不可见。删除这些XML记录后,问题就解决了。ovfsdjhp3#
我也有同样的错误。当我试图远程添加WebBinding到IIS站点时,会发生这种情况,同时使用来自不同代理机器的Invoke-Command。
这对我有用,也许它也能帮助到别人:
字符串
4ngedf3f4#
启用详细错误跟踪以查找原因。在我的例子中,它是一个
mimeType
元素,复制了一个默认元素。