Reading the hosts file–revised
Quick revision to the post on reading the hosts file http://msmvps.com/blogs/richardsiddaway/archive/2011/10/23/reading-the-hosts-file.aspx.
I wanted to be able to display the whole file
function get-hostfilecontent {
param ([switch]$all)
$file = Join-Path -Path $($env:windir) -ChildPath "system32\drivers\etc\hosts"
if (-not (Test-Path -Path $file)){
Throw "Hosts file not found"
}
$cont = Get-Content -Path $file
if ($all) {
$cont
}
else {
$cont |
where {!$_.StartsWith("#")} |
foreach {
if ($_ -ne ""){
$data = $_ -split " ",2
New-Object -TypeName PSObject -Property @{
Server = $data[1].Trim()
IPAddress = $data[0].Trim()
}
}
}
}
}
so added an $all switch. If this is selected the full contents of the file are displayed otherwise just the IP address entries are displayed as before