Exporting IIS IP Restrictions to a File using a Powershell Script

If you ever find yourself needing to export a list of site or IP restrictions from a Windows based web server running IIS then this is how you do it using Powershell. 

I believe that there is a vbscript that can do this as well but I chose Powershell for this challenge and it worked so why not.
At this point I am assuming you know what Powershell is, have it installed and know how to execute scripts. With that being said.

Create a Powershell script and name the file “export-ip-restrictions.ps1” and paste in the text below.
Execute it and you should have a list of IP restrictions in the same folder as the script you ran.

Powershell Code Example

[string]$SitesVar = Read-Host "Enter Sitenames with no spaces in between, Seperated by ';' i.e site1;site2;site3" 
$exportfolder = Read-Host "Enter Export Folder i.e. C:\folder1" 
 
sl c:\windows\system32\inetsrv\ 
 
$a = 0 
$Sites = $SitesVar.Split(";") 
$count = $Sites.count 
 
do { 
foreach ($site in $Sites){ 
[xml]$out = .\appcmd.exe list config $site -section:system.webServer/security/ipSecurity  
 
$out."system.webserver"."security"."ipsecurity" | %{ 
$_.innerxml.split("<*>") | out-file $exportfolder\$site.txt 
 
} 
$a++ 
} 
} 
while ($a -ne $count) 

Leave a Reply