zoukankan      html  css  js  c++  java
  • 修改hosts文件(判断是否为管理员/以管理员权限运行脚本)

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

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

    删除hosts中添加的解析记录

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

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

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

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

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

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

  • 相关阅读:
    数据库插入数据返回当前主键ID值方法
    兼容SQLSERVER、Oracle、MYSQL、SQLITE的超级DBHelper
    C# listview 单击列头实现排序 <二>
    C# ListView点击列头进行排序
    MessageBox.Show()的各种用法
    QT 删除文件指定目录
    hihoCoder 1015 KMP算法
    hiho一下 第五十周 (求欧拉路径)
    hdu
    hiho一下 第四十九周 欧拉路
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/3917031.html
Copyright © 2011-2022 走看看