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 
while ($a -ne $count) 

Connect to SQL Database and Output data to CSV File from Table using Powershell

This is sample Powershell code for connecting to SQL Database and outputting table data to a CSV file.

Code below was tested by me.


Powershell Code to Connect to SQL Server & Output to CSV File

$SQLServer = "aaaa.database.windows.net"
$SQLDBName = "Database"
$uid ="john"
$pwd = "pwd123"
$SqlQuery = "SELECT * from table;"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True; User ID = $uid; Password = $pwd;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet

$DataSet.Tables[0] | out-file "C:\Scripts\xxxx.csv"