修改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:windir\system32\drivers\etc\hosts"
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:windir\system32\drivers\etc\hosts"
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:windir\system32\drivers\etc\hosts"
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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM