我有以下脚本:
$Logdir = $args[0]
$Description = $args[1]
$Domain = $args[2]
New-Item IIS:Sites$Description -Bindings (
@{Protocol="http"; BindingInformation="*:80:$Domain"},
@{Protocol="http"; BindingInformation="*:80:www.$Domain"}
) -PhysicalPath "$LogDirhttp"
我执行了它:
create.ps1 "C:\inetpubyusufozturk.info" "www.yusufozturk.info" "yusufozturk.info”
我收到了以下错误: -
New-Item:找不到与参数名称匹配的参数 “绑定”。在C:\ es \ develop \ ShareAspace \ create.ps1:4 char:32 + New-Item IIS:Sites $ Description -Bindings(@ {Protocol =“http”; BindingIn ... + ~~~~~~~~~ + CategoryInfo:InvalidArgument:(:) [New-Item],ParameterBindingException + FullyQualifiedErrorId:NamedParameterNotFound,Microsoft.PowerShell.Commands.NewItemCommand
我是PS脚本的新手。我不知道出了什么问题?还请告诉我如何通过电源shell删除网站?
答案 0 :(得分:1)
New-Item
没有名为-bindings
或-physicalpath
的参数。
我会使用New-WebSite
cmdlet创建网站,使用Set-WebBinding
来设置绑定。
这些cmdlet位于WebAdministration模块中,如果您有权访问IIS:驱动器,则可以使用该模块。请务必在提升的会话中使用此模块(以管理员身份)。
答案 1 :(得分:0)
实际上OP正在做什么,这里记录:
在我的一台IIS服务器上......
Import-Module -Name WebAdministration
Get-Website | Select Name,ID,State,PhysicalPath
name id state physicalPath
---- -- ----- ------------
Default Web Site 1 Started %SystemDrive%\inetpub\wwwroot
kcd 2 Started C:\inetpub\kcd
New-Item iis:\Sites\MyTestSite -bindings @{protocol="http";bindingInformation=":80:MyTestSite"} -physicalPath c:\MyTest
Name ID State Physical Path Bindings
---- -- ----- ------------- --------
MyTestSite 3 Started c:\MyTest http :80:MyTestSite
Get-Website | Select Name,ID,State,PhysicalPath
name id state physicalPath
---- -- ----- ------------
Default Web Site 1 Started %SystemDrive%\inetpub\wwwroot
kcd 2 Started C:\inetpub\kcd
MyTestSite 3 Started c:\MyTest
Get-WebBinding
protocol bindingInformation sslFlags
-------- ------------------ --------
http *:80: 0
http 192.168.1.3:80:kcd.... 0
http :80:MyTestSite 0
至于删除网站,只需使用Remove-Website cmdlet
即可答案 2 :(得分:0)
这是OP接受答案的几年之后,但是我只是想把它放在那里,我注意到导入IISAdministration时New-Item ... -physicalPath
不再为我工作(在使用{ {3}}。)这是在Windows2019(带有PS 5)上。