IIS中每个网站可以绑定多个IP地址或者端口号,使用PowerShell可以获取这些配置的链接,并用来访问该网站。
要求
- 如果一个网站有绑定的主机名或者域名,优先以域名作为域名。
- 如果没有域名配置,以配置的绑定的IP地址作为主机名。
- 如果IP地址未配置,则获取本机的IPV4地址作为主机名。
- 如果端口为80端口,在网站地址中不予显示。
脚本
function Get-IISWebsiteUrl ([string]$name) { (Get-Website $name).bindings.Collection | foreach{ $bindingTokens = $_.bindingInformation -split ':' $siteHost='' $port='' $protocol=$_.protocol if($bindingTokens[2] -ne '') { $siteHost=$bindingTokens[2] } elseif($bindingTokens[0] -ne '*') { $siteHost=$bindingTokens[0] } else { $siteHost = [net.dns]::GetHostAddresses('') | where { $_.AddressFamily -eq 'InterNetwork'} | select -ExpandProperty IPAddressToString -First 1 } if($bindingTokens[1] -eq '80') { $port='' } else {$port = ":"+$bindingTokens[1]} '{0}://{1}{2}' -f $protocol,$siteHost,$port } }
测试
Get-IISWebsiteUrl -name 'PrivateMemory.CN' http://222.216.190.84:8082 https://www.pstips.net http://222.216.190.81
本文链接: https://www.pstips.net/get-iiswebsiteurl.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请问我想修改绑定的地址应该怎么做呢?使用wmi?
New-WebBinding