如何利用powershell脚本Windows hosts记录替换IP,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
点击(此处)折叠或打开
-
#host 文件更换IP映射,需要手工定义主机IP
-
$db_host1 = "192.168.1.1"
-
$db_host2 = "192.168.1.2"
-
$host_file = "C:/Windows/System32/drivers/etc/hosts"
-
$db_name = "db.test.com"
-
$v_db_name = Select-String -Path $host_file -Pattern $db_name
-
$v_db = $v_db_name -split "/s+"
-
$v_db_ip = $v_db -split ":"
-
$v_db_ip_now = $v_db_ip[3]
-
if ( $v_db_ip_now -like $db_host1){
-
$sw_dbhost = $db_host2
-
}
-
else {
-
$sw_dbhost = $db_host1
-
}
-
#切换IP函数
-
function f_switch_db{
-
write-host "切换前数据库IP为$v_db_ip_now"
-
(Get-Content $host_file) -replace $v_db_ip_now,$sw_dbhost | Set-Content $host_file
-
write-host "切换后数据库IP为$sw_dbhost"
-
}
-
$title = "切换数据库IP"
-
$message = "你希望切换数据库IP吗?"
-
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
-
"准备切换IP为$sw_dbhost"
-
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
-
"不切换IP."
-
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
-
$result = $host.ui.PromptForChoice($title, $message, $options, 0)
-
switch ($result)
-
{
-
0 {f_switch_db}
-
1 {"You selected No."}
-
}
-
以下为运行结果:
关于如何利用powershell脚本Windows hosts记录替换IP问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/199451.html