Ovozmozhuvanje na standardnite korisnici vo Windows Server da go ischistat DNS keshot
DNS keshot vo Windows sistemite voobichaeno se chisti so komandata
ipconfig /flushdns
. Ovaa komanda bara administrativni privilegii, shto sozdava predizvik vo Windows Server opkruzhuvanjata kade standardnite korisnici treba da go osvezhat nivniot DNS kesh za vreme na reshavanje problemi ili po mrezhni promeni.
Za da se nadmine ova ogranichuvanje, kje sozdademe avtomatiziran sistem koj se sostoi od:
- Ednokratno postavuvanje od Administratorot. Korisnik so administrativni privilegii kreira i izvrshuva PowerShell skripta, koja postojano raboti vo pozadina so administrativni privilegii. Nejzinata edinstvena cel e da sledi odredena papka za kakvi bilo promeni. Koga kje se otkrijat promeni, avtomatski ja izvrshuva komandata za chistenje na DNS.
- Operacija na standarden korisnik. Za da se ischisti DNS keshot, standardniot korisnik kreira prazna datoteka ili papka vo papkata shto ja monitorira skriptata. Datotekata ili papkata kje ischezne za okolu 10 sekundi, shto ukazhuva deka
ipconfig /flushdns
e izvrshena.
Ovoj sistem ja odrzhuva bezbednosta so zadrzhuvanje na administrativnite privilegii vo PowerShell skriptata, dodeka standardnite korisnici izvrshuvaat samo operacii so datoteki vo odredena papka kade im se dodeleni prava na pristap.
1.Chekori za instalacija izvrsheni od Administratorot
Slednite chekori treba da bidat izvrsheni od korisnik so administrativni privilegii. Vo ovoj primer, kje ja koristime C: diskot, no mozhete da go prilagodite patot do papkata spored potrebite.
1.1.Kreiranje na sledenata papka
Kreirajte papka so ime
flushdns koja kje se koristi za aktiviranje na chistenjeto na DNS keshot. Dodelete pristap do papkata za standardni korisnici, tipichno vo grupata "Users". Koristete gi slednite PowerShell komandi:
New-Item -Path "C:\flushdns" -ItemType Directory
icacls "C:\flushdns" /grant "Users:(OI)(CI)F"
Vtorata komanda dodeluva celosen pristap na site korisnici. Za da go ogranichite pristapot na odredeni korisnici ili grupi, zamenete "Users" so soodvetnoto ime na korisnik ili grupa.
1.2.Kreiranje na PowerShell skriptata
Kreirajte PowerShell skripta datoteka vo
C:\scriptflushdns.ps1 so slednata sodrzhina:
# Pat do papkata za sledenje
$folderPath = "C:\flushdns"
###### NE MODIFICIRAJTE POD OVAA LINIJA
# Naslov na prozorecot
$host.UI.RawUI.WindowTitle = "DNS Flush Process"
# Kontinuirana jamka
while ($true) {
$files = Get-ChildItem -Path $folderPath -File -ErrorAction SilentlyContinue
# Ako ima datoteki
if ($files.Count -gt 0) {
# Izvrshi ipconfig /flushdns
try {
$result = Start-Process "ipconfig.exe" -ArgumentList "/flushdns" -Verb RunAs -WindowStyle Hidden -Wait -PassThru
if ($result.ExitCode -ne 0) {
Write-Host "Greska: DNS cistenjeto ne uspea so kod $($result.ExitCode)" -ForegroundColor Red
} else {
Write-Host "DNS kesot uspeshno e iscisten na $(Get-Date)" -ForegroundColor Green
}
}
catch {
Write-Host "Greska pri izvrsuvanje na ipconfig: $($_.Exception.Message)" -ForegroundColor Red
}
# Izbrishi gi site datoteki
try {
Remove-Item -Path "$folderPath\*" -Force
}
catch {
Write-Host "Greska pri brishenje na datotekite: $($_.Exception.Message)" -ForegroundColor Red
}
}
# 10 sekundi pauza pomegju proverkite
Start-Sleep -Seconds 10
}
1.3.Izvrshuvanje na skriptata
Kako Administrator, izvrshete ja
C:\scriptflushdns.ps1. Ova kje otvori PowerShell konzolen prozorec so ime "DNS Flush Process." Ne zatvorajte go ovoj prozorec, bidejkji skriptata raboti kontinuirano, sledejkji ja papkata i izvrshuvajkji go chistenjeto na DNS keshot koga e aktivirano.
Sekogash koga DNS keshot se chisti, skriptata go pechati slednovo:
DNS keshot uspeshno e ischisten na ...
Za avtomatsko startuvanje po restartiranje na sistemot, konfigurirajte ja skriptata da se izvrshuva kako scheduled task.
2.Chistenje na DNS keshot kako standarden korisnik
Za da go ischistite DNS keshot kako standarden Windows korisnik, kreirajte prazna datoteka ili papka vo
C:\flushdns.
Po okolu 10 sekundi, kreiranata datoteka ili papka kje ischezne, shto ukazhuva deka komandata
ipconfig.exe /flushdns
e izvrshena.
Sodrzhinata vo ovoj dokument e licencirana od Interspace so
MIT licenca