Om een printer of een device te beheren via een web portal, kan dit via http://w.x.y.z. Als de webportal is uitgerust met een self-signed SSL certificaat, kan het beheer problematisch zijn. Als het IP adres van de printer en de naam van de printer bekend zijn, kan de hosts file op de Windows machinge geupdated worden door onderstaand script. De functie kun je dan uitvoeren via PowerShell ISE met Administrator rechten.
Na het uitvoeren van het script, kan het volgende command worden ingegeven:
Update-HostsEntry -IPAddress “192.168.178.189” -HostName “HPDF79852”
function Update-HostsEntry {
param (
[string]$IPAddress,
[string]$HostName
)
$hostsFilePath = "C:\Windows\System32\drivers\etc\hosts"
# Controleer of het script met verhoogde rechten wordt uitgevoerd
if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Error "Dit script moet met verhoogde rechten (als administrator) worden uitgevoerd."
return
}
# Controleer of het bestand bestaat
if (-Not (Test-Path -Path $hostsFilePath)) {
Write-Error "Het hosts bestand bestaat niet op de opgegeven locatie."
return
}
# Lees de inhoud van het hosts bestand
$hostsFileContent = Get-Content -Path $hostsFilePath
# Verwijder de laatst toegevoegde entry als het IP-adres wijzigt
$lastEntry = $hostsFileContent | Select-Object -Last 1
if ($lastEntry -match "\b$HostName\b") {
$hostsFileContent = $hostsFileContent | Where-Object { $_ -ne $lastEntry }
}
# Voeg de nieuwe regel toe
$newEntry = "$IPAddress`t$HostName"
$hostsFileContent += $newEntry
# Schrijf de bijgewerkte inhoud terug naar het hosts bestand
$hostsFileContent | Set-Content -Path $hostsFilePath -Force
Write-Output "Het hosts bestand is succesvol bijgewerkt met $IPAddress`t$HostName."
}
# Voorbeeld van het aanroepen van de functie
# Update-HostsEntry -IPAddress "192.168.178.189" -HostName "example.com"