ps/Modules/Cole.PowerShell.Developer/Public/Enable-HostsFileEntry.ps1
2023-05-30 22:51:22 -07:00

37 lines
1.1 KiB
PowerShell

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."
}
}