Всем добрый вечер пятницы. Я написал скриптец на обновление записей в файле host.
Но не могу понять в чем ошибка. При первом запуске прописываются строки. При втором выходит ошибка либо что файл занят другим процессом или что поток чтения не доступен и почему то все содиржимое стирается к хренам.
$hostsFile = "$env:windir\System32\drivers\etc\hosts"
$ipAddress1 = "192.72.22.200"
$hostName1 = "test1.pro"
$ipAddress2 = "192.72.22.201"
$hostName2 = "test2.pro"
# Получаем текущее содержимое файла hosts
$hostsContent = Get-Content $hostsFile
# Удаляем все записи для test1.pro и записываем новые
$hostsContent = $hostsContent | Where-Object { $_ -notmatch "$hostName1" }
$hostsContent += "$ipAddress1`t$hostName1"
# Удаляем все записи для test2.pro и записываем новые
$hostsContent = $hostsContent | Where-Object { $_ -notmatch "$hostName2" }
$hostsContent += "$ipAddress2`t$hostName2"
# Записываем изменения в файл hosts
Set-Content -Path $hostsFile -Value $hostsContent
Write-Output "Записи обновлены в hosts."