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 #暂停

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzzjx.html