znalazłem na to pytanie, ponieważ chciałam, aby wygenerować stronę z linkami do wszystkie witryny działające na moim IIS. Użyłem Alexander Shapkin's answer, aby wymyślić następujące, aby wygenerować kilka linków.
$hostname = "localhost"
Foreach ($Site in get-website) {
Foreach ($Bind in $Site.bindings.collection) {
$data = [PSCustomObject]@{
name=$Site.name;
Protocol=$Bind.Protocol;
Bindings=$Bind.BindingInformation
}
$data.Bindings = $data.Bindings -replace '(:$)', ''
$html = "<a href=""" + $data.Protocol + "://" + $data.Bindings + """>" + $data.name + "</a>"
$html.Replace("*", $hostname);
}
}
Następnie wklejam wyniki do tego pośpiesznie napisanego HTML.
<html>
<style>
a { display: block; }
</style>
{paste powershell results here}
</body>
</html>
Naprawdę nie znam Powershell, więc proszę, edytuj moją odpowiedź, aby to wyczyścić.
jaka wersja systemu Windows/IIS posiadasz? Dzięki IIS na Windows Server 2012 możesz po prostu użyć 'Get-WebBinding' jeśli dobrze pamiętam. –
Tak, to jest serwer 2012. Uruchamianie funkcji Get-Webbinding zwraca protokół, bindinformation, sslFlags. nie w tym samym formacie, co moje wyjście. – sanjeev40084