powershell腳本執行繞過powershell下腳本執行限制(cmd下執行)以及在cmd下隱藏腳本窗口


powershell腳本執行繞過powershell下腳本執行限制(cmd下執行) 

powershell腳本運行方式有兩種,一種是powshell中運行,另一種是在cmd中(在某些情況下相當有用)

powershell一般默認是禁止腳本運行,想要修改允許腳本運行,需要以管理員權限運行powershell,但有時候我們沒有管理員權限,只有普通用戶權限,這樣就沒有辦法設置允許腳本運行,這時,cmd中運行腳本的優勢就體現出來了。在cmd中運行腳本可以繞過powershell的限制。

(cmd)本地權限繞過執行:PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1

powershell:Get-ExecutionPolicy(查看當前腳本執行權限)    Set-ExecutionPolicy(設置腳本執行權限)

一、使用自動化命令查看並統計在powershell有別名的cmd下的命令(cmd的命令可以在powershell下運行並且在powershell下有別名)

 1.代碼如下: 

<# 使用自動化命令查看並統計在powershell有別名的cmd下的命令(cmd的命令可以在powershell下運行並且在powershell下有別名) #>
$cname=cmd /c help  #$cmd /c help 獲得的結果是一個數組對象
$len=$cname.count-3  #觀察cmd /c help獲得數據,去掉前兩行和最后一行無用數據
$n=0
#遍歷數組
foreach ($i in $cname[1..$len]) { $sn=$i.split()[0]   #對每行的數據進行處理,並得到第一個值(命令名稱)
    if ($sn -ne "")     #-ne 不等於
 { $pcom=get-alias $sn -erroraction silentlycontinue   #獲得每個命令的別名,當出現錯誤不顯示,繼續執行
        if ($?) #返回上一條指令執行的結果,成功返回True,失敗返回False
 { $pcom.displayname   #$pcom是一個對象
            $n+=1   #計數
 } } } write-host "$n Done"    #write-host是寫到控制台
pause   #暫停

2.運行方式有兩種,一種是powershell中運行,另一種在cmd中

  2.1(cmd)本地權限繞過執行:PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1

 可以看到直接在cmd下執行powershell腳本,繞過了powershell對ps1腳本執行的限制(在某些情況下相當有用) 

2.2在powshell下執行

  可以看到當前腳本的執行權限是限制,當想修改腳本的執行權限時,只能以管理員打開powershell,在某些情況下無法實現管理員修改,這時候只能通過cmd運行腳本了

  以管理員運行powerrshell之后,設置腳本的運行策略 

3.設置完腳本的運行策略之后,就可以運行腳本了

  

4.隱藏腳本到后台

 powershell  -WindowStyle hidden -ExecutionPolicy Bypass -file xxx.ps1 

 運行完隱藏的命令之后,腳本窗口便消失了,只有后台能看到腳本正在運行

  

5.想要退出隱藏,可以在任務管理器結束powershell進程

 


免責聲明!

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



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