ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 利用powershell脚本Windows hosts记录替换IP

利用powershell脚本Windows hosts记录替换IP

原创 Linux操作系统 作者:shawnloong 时间:2017-11-30 16:08:14 0 删除 编辑

点击(此处)折叠或打开

  1. #host 文件更换IP映射,需要手工定义主机IP
  2. $db_host1 = "192.168.1.1"
  3. $db_host2 = "192.168.1.2"
  4. $host_file = "C:\Windows\System32\drivers\etc\hosts"
  5. $db_name = "db.test.com"
  6. $v_db_name = Select-String -Path $host_file -Pattern $db_name
  7. $v_db = $v_db_name -split "\s+"
  8. $v_db_ip = $v_db -split ":"
  9. $v_db_ip_now = $v_db_ip[3]
  10. if ( $v_db_ip_now -like $db_host1){
  11. $sw_dbhost = $db_host2
  12. }
  13. else {
  14. $sw_dbhost = $db_host1
  15. }
  16. #切换IP函数
  17. function f_switch_db{
  18. write-host "切换前数据库IP为$v_db_ip_now"
  19. (Get-Content $host_file) -replace $v_db_ip_now,$sw_dbhost | Set-Content $host_file
  20. write-host "切换后数据库IP为$sw_dbhost"
  21. }
  22. $title = "切换数据库IP"
  23. $message = "你希望切换数据库IP吗?"
  24. $yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
  25. "准备切换IP为$sw_dbhost"
  26. $no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
  27. "不切换IP."
  28. $options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
  29. $result = $host.ui.PromptForChoice($title, $message, $options, 0)
  30. switch ($result)
  31. {
  32. 0 {f_switch_db}
  33. 1 {"You selected No."}
  34. }

  35. 以下为运行结果:


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

请登录后发表评论 登录
全部评论

注册时间:2011-08-29

  • 博文量
    110
  • 访问量
    292636