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

  • 相关阅读:
    如何在iTerm2中配置oh my zsh?
    sublime中格式化jsx文件
    ES6 new syntax of Literal
    ES6 new syntax of Rest and Spread Operators
    How to preview html file in our browser at sublime text?
    ES6 new syntax of Default Function Parameters
    ES6 new syntax of Arrow Function
    七牛云2018春招笔试题
    Spring-使用注解开发(十二)
    Spring-声明式事物(十一)
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/3917031.html
Copyright © 2011-2022 走看看