san*_*084 44 iis powershell powershell-3.0 iis-8
我正在从IIS记录与站点相关的所有站点和绑定.有没有一种简单的方法可以通过PowerShell脚本获取此列表,而不是手动键入查看IIS?
我希望输出是这样的:
Site Bindings
TestSite www.hello.com
www.test.com
JonDoeSite www.johndoe.site
Run Code Online (Sandbox Code Playgroud)
Chr*_*las 82
试试这个:
Import-Module Webadministration
Get-ChildItem -Path IIS:\Sites
Run Code Online (Sandbox Code Playgroud)
它应该返回如下所示的内容:
Name ID State Physical Path Bindings
---- -- ----- ------------- --------
ChristophersWeb 22 Started C:\temp http *:8080:ChristophersWebsite.ChDom.com
Run Code Online (Sandbox Code Playgroud)
从这里你可以改进结果,但要小心.select语句的管道不会提供您所需的内容.根据您的要求,我将构建一个自定义对象或哈希表.
Fro*_* F. 50
尝试这样的东西来获得你想要的格式:
Get-WebBinding | % {
$name = $_.ItemXPath -replace '(?:.*?)name=''([^'']*)(?:.*)', '$1'
New-Object psobject -Property @{
Name = $name
Binding = $_.bindinginformation.Split(":")[-1]
}
} | Group-Object -Property Name |
Format-Table Name, @{n="Bindings";e={$_.Group.Binding -join "`n"}} -Wrap
Run Code Online (Sandbox Code Playgroud)
Ale*_*kin 22
我看到的最简单的方法:
Foreach ($Site in get-website) { Foreach ($Bind in $Site.bindings.collection) {[pscustomobject]@{name=$Site.name;Protocol=$Bind.Protocol;Bindings=$Bind.BindingInformation}}}
Run Code Online (Sandbox Code Playgroud)
Arm*_* G. 19
如果你只想列出所有网站(即找到一个绑定)
将工作目录更改为"C:\ Windows\system32\inetsrv"
cd c:\ Windows\system32\inetsrv
接下来运行"appcmd list sites"(复数)并输出到文件.例如c:\ IISSiteBindings.txt
appcmd list sites> c:\ IISSiteBindings.txt
现在从命令提示符处打开记事本.
记事本c:\ IISSiteBindings.txt
归档时间: |
|
查看次数: |
81866 次 |
最近记录: |