PS C:\WINDOWS\system32> #Проверяем записи в файле hosts если указанной записи нет, то добавялем, если есть другая запись с такм же хостнеймом, то удаляем.
$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 "^$ipAddress1`t$hostName1" }
$hostsContent += "$ipAddress1`t$hostName1"
# Удаляем все записи для test2.pro и записываем новые
$hostsContent = $hostsContent | Where-Object { $_ -notmatch "^$ipAddress2`t$hostName2" }
$hostsContent += "$ipAddress2`t$hostName2"
# Записываем изменения в файл hosts
Set-Content -Path $hostsFile -Value $hostsContent
Write-Output "Записи обновлены в hosts."
Записи обновлены в hosts.
PS C:\WINDOWS\system32> #Проверяем записи в файле hosts если указанной записи нет, то добавялем, если есть другая запись с такм же хостнеймом, то удаляем.
$hostsFile = "$env:windir\System32\drivers\etc\hosts"
$ipAddress1 = "192.72.32.200"
$hostName1 = "test1.pro"
$ipAddress2 = "192.72.32.201"
$hostName2 = "test2.pro"
# Получаем текущее содержимое файла hosts
$hostsContent = Get-Content $hostsFile
# Удаляем все записи для test1.pro и записываем новые
$hostsContent = $hostsContent | Where-Object { $_ -notmatch "^$ipAddress1`t$hostName1" }
$hostsContent += "$ipAddress1`t$hostName1"
# Удаляем все записи для test2.pro и записываем новые
$hostsContent = $hostsContent | Where-Object { $_ -notmatch "^$ipAddress2`t$hostName2" }
$hostsContent += "$ipAddress2`t$hostName2"
# Записываем изменения в файл hosts
Set-Content -Path $hostsFile -Value $hostsContent
Write-Output "Записи обновлены в hosts."
Set-Content : Процесс не может получить доступ к файлу "C:\WINDOWS\System32\drivers\etc\hosts", т
ак как этот файл используется другим процессом.
строка:20 знак:1
+ Set-Content -Path $hostsFile -Value $hostsContent
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (C:\WINDOWS\System32\drivers\etc\hosts:String) [Set-Co
ntent], IOException
+ FullyQualifiedErrorId : GetContentWriterIOError,Microsoft.PowerShell.Commands.SetContentCo
mmand
Записи обновлены в hosts.
PS C:\WINDOWS\system32>
$argument1 = '-noprofile -command "Start-Process powershell.exe -Verb RunAs"'
Start-Process -FilePath "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Credential $credential -ArgumentList $argument1
файл со скриптом? Start-Process -FilePath "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Credential $credential -NoNewWindow
Start-Process : Не удается выполнить команду из-за следующей ошибки: Неверно задано имя папки.
строка:1 знак:1
+ Start-Process -FilePath "C:\Windows\System32\WindowsPowerShell\v1.0\p ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand