将以下命令保存为 HostsModify.ps1,然后执行即可

 #该脚本用来添加hosts解析记录。脚本在执行的时候会判断当前用户是否为管理员,如果不是则弹出提示框口,要求输入相应密码
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
  $arguments = "& '" + $myinvocation.mycommand.definition + "'"
  Start-Process powershell -Credential administrator -WindowStyle Hidden -ArgumentList $arguments
  Break
} #下面为要执行的命令
#在hosts中添加解析记录
$line = "127.0.0.1 www.sapien.com"
$file = "$env:windir\system32\drivers\etc\hosts"
out-file -InputObject $line -filepath $file -append -Encoding default

删除hosts中添加的解析记录

 #删除hosts中添加的解析记录
$line = "127.0.0.1 www.sapien.com"
$file = "$env:windir\system32\drivers\etc\hosts"
#$contents = gc $file | ? {!($_.contains($line))} #选择不包含$line的行
$contents = gc $file | ? {$_ -ne $line} #选择不等于$line的行
clear-content $file
out-file -InputObject $contents -filepath $file -append -Encoding default

###################################################

脚本直接以管理员权限运行(将管理员账户和密码写入脚本中)

 #该脚本用来在hosts文件中添加解析记录。如果当前用户不是管理员,则会直接以管理员权限运行(可以将管理员账户和密码写入脚本中)
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
  $UserName = "administrator" #定义管理员账户名称
  $serverpass = "cmr" #定义管理员账户密码
  $Password = ConvertTo-SecureString $serverpass -AsPlainText –Force
  $cred = New-Object System.Management.Automation.PSCredential($UserName,$Password)
  $arguments = "& '" + $myinvocation.mycommand.definition + "'"
  Start-Process powershell -Credential $cred -WindowStyle Hidden -ArgumentList $arguments
  Break
 } #下面为要执行的脚步命令
#在hosts中添加解析记录
$line = "127.0.0.1 www.sapien.com"
$file = "$env:windir\system32\drivers\etc\hosts"
out-file -InputObject $line -filepath $file -append -Encoding default

Start-Process -Verb runas 这里的 runas是以管理员权限运行,但是前提是当前用户必须已经是管理员,效果等同于:

参考:http://www.pstips.net/force-script-run-as-admin.html

修改hosts文件(判断是否为管理员/以管理员权限运行脚本)的更多相关文章

  1. 小兴趣:修改Hosts文件,禁止访问指定网页

    不知道Hosts文件什么鬼的朋友可以在网上搜索一下(大牛勿喷- -) 访问网址时,先查询本地的Hosts文件,那么如果我们将Hosts文件中的网址与IP的映射修改之后,将访问错误的IP. 如在文件尾追 ...

  2. 修改Hosts文件,禁止访问指定网页

    不知道Hosts文件什么鬼的朋友可以在网上搜索一下(大牛勿喷- -) 访问网址时,先查询本地的Hosts文件,那么如果我们将Hosts文件中的网址与IP的映射修改之后,将访问错误的IP. 如在文件尾追 ...

  3. 批处理脚本修改hosts文件指定域名解析IP

    现在很多网站都是前后台分开部署的,这样做是相对安全的.就算黑客拿到了前台shell也找不到后台的管理地址,增加安全性. 大家应该知道hosts文件的功能吧,用户在访问网站的时候 需要把域名解析成IP地 ...

  4. Mac下显示隐藏文件 以及修改 hosts文件内容

    修改hosts 文件内容: 进入etc 文件夹,找到hosts 文件,把该文件复制出来,修改完里面的内容后,先把etc中的hosts 文件删除,然后在把修改后的文件脱机去 可能需要管理员的密码,你输入 ...

  5. 详述 hosts 文件的作用及修改 hosts 文件的方法

    1 什么是hosts文件? hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”.当用户在浏览器中输入一个需要登录的网址时,系统会首 ...

  6. Window10系统修改hosts文件的方法

    背景: 调试smtp程序时遇到问题,度娘说需要修改hosts文件 使用老方法修改了很久,始终无法保存 又百度了一下,在此重温,以加深记忆 方法: Step1.同时按住Windows+X Step2.选 ...

  7. 修改hosts文件在本地使域名解析到指定IP

    # Additionally, comments (such as these) may be inserted on individual  # lines or following the mac ...

  8. 修改hosts文件,修改后不生效怎么办

    当你在打开浏览器的情况下修改hosts文件时,关闭浏览器时系统才会释放掉hosts文件占用的那部分内存,我们再次打开浏览器访问就发现已经生效了. ps:ipconfig /flushdns     # ...

  9. Mac下修改Hosts文件工具——Gas Mask

    这段时间在做公司APP的项目,看到公司开发IOS的同事和我这边联调程序时,经常需要手动修改hosts文件,比较麻烦. 在公司忙,没有来及找,给同事推荐了我当时知道的一个切换hosts文件的工具:sma ...

  10. Ubuntu下修改hosts文件

    Ubuntu系统的Hosts只需修改/etc/hosts文件,修改完之后要重启网络.具体过程如下:1.修改hostssudo gedit /etc/hosts2.添加解析记录( . )或者从githu ...

随机推荐

  1. PHP array_chunk() 函数

    今天在CSDN上,看到了一个问题 一维数组 PHP code   array('0'=>'a',1=>'b',2=>'c',3=>'d',4=>'e',5=>'f' ...

  2. PHP 简单的加密解密算法

    <?php /** * * @创建时间:2015-3-12 下午2:07:33 * @作者:YuMing * @描述:异或加密解密类 */ class Yihuo extends CI_Cont ...

  3. IOS,Object C学习过程中遇到的attributes

    @property 定义一个属性 @synthesize 告诉编译器自动为属性自动生成 getter 和setter方法 在定义属性的时候会用到如下@attributes nonatomic,告诉编译 ...

  4. Visual Studio Developer Command Prompt删除localdb的方法

    PM> sqllocaldb.exe stop v11. LocalDB instance "v11.0" stopped. PM> sqllocaldb.exe de ...

  5. 在Google被封的那些日子裏,我們這樣科學上網

    回到正題,如果某天你喜歡的網站被封了,你工作的郵箱無法訪問了,該如何用正確姿勢實現科學上網呢?雷鋒網為大家整理了數個小技巧. 1.FreeGate類傻瓜工具 很多人第一次用翻墻,應該是從FreeGat ...

  6. 学习面试题Day06

    1.字节流的处理方式 字节流处理的是计算机最基本的单位byte,它可以处理任何数据格式的数据.主要的操作对象就是byte数组,通过read()和write()方法把byte数组中的数据写入或读出. 2 ...

  7. 【工具类】获取手机sim卡的运营商

    加入权限:<uses-permission android:name="android.permission.READ_PHONE_STATE" /> package ...

  8. POJ3616 Milking Time 简单DP

    注意0,1,.....,N是时间点,i~i+1是时间段 然后就是思路:dp[i]代表到时间点 i 获得的最大价值, 1:dp[i]=max(dp[i],dp[s-r]+e),表示有以s为开头,i为结尾 ...

  9. android和ios的系统特性区别

    1.  删除:android是长按,ios为滑动/或者进入编辑模式 2.  android:应用内返回键,保证用户停留在应用程序中:硬件返回键可以让用户退出应用程序 3.  剪切/粘贴/选择等文本操作 ...

  10. Global.asax 文件是什么(转)

    原文链接:http://www.cnblogs.com/I-am-Betty/archive/2010/09/06/1819558.html MSDN :https://msdn.microsoft. ...