function Enable-HostsFileEntry { param ( [Parameter()] [string]$Hostname, [Parameter()] [string]$IPAddress ) $logLead = Get-LogLeadName $hostnameProvided = ![string]::IsNullOrWhiteSpace($Hostname) $ipaddressProvided = ![string]::IsNullOrWhiteSpace($IPAddress) if (!$hostnameProvided -and !$ipaddressProvided) { throw "$logLead : Must provide either the hostname or ip address to enable" } $records = Get-HostsFileAllRecords $enabledCounter = 0 foreach ($record in $records) { if ($record.IsDisabled) { if (($hostnameProvided -and ($record.Hostname -eq $Hostname)) -or ($ipaddressProvided -and ($record.IpAddress -eq $IPAddress))) { $record.IsDisabled = $false $enabledCounter += 1 } } } if ($enabledCounter -gt 0) { Write-Host "$logLead : Updated $enabledCounter records. Saving." Save-CompleteHostsFile -Records $records } else { Write-Host "$logLead : No records found to enable for provided values." } }