37 lines
1.1 KiB
PowerShell
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."
|
|
}
|
|
} |