-
#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."}
-
}
-
-
以下为运行结果:

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24486203/viewspace-2148078/
,如需转载,请注明出处,否则将追究法律责任。