在一个会话下使用 python 运行 powershell 脚本



我尝试创建一个python程序,该程序将对使用IEX的powershell恶意软件进行去混淆。我的python程序实际上挂接了IEX函数,而不是运行所需的字符串,它将打印字符串。 现在我的问题是我有一些 .ps1 脚本(例如 1.ps1、2.ps1 等),我想在同一会话下运行所有这些脚本,以便通过这种方式,1.ps1 脚本创建的所有局部变量,2.ps1 脚本将能够使用...

现在我尝试了很多方法,首先我尝试了子进程,但它总是在每次我输入命令(即 .ps1 文件的路径)时创建一个新会话。然后我在GitHub上找到了这个项目: https://gist.github.com/MarkBaggett/a7c10195b2626c78009bf73bcdb6db20 这真的很棒并且确实有效,但是,似乎当我运行命令 ./1.ps1 时,它仍然没有在会话中存储局部变量(也许它在运行脚本时打开一个新变量)。 我也尝试做"获取内容 1.ps1 |iex",但随后它崩溃了,因为我在那里有函数,例如:

function Invoke-Expression()
{
param(
[Parameter( `
Mandatory=$True, `
Valuefrompipeline = $True)]
[String]$Command
)
Write-Host $Command
}

取自PSDecode项目: https://github.com/R3MRUM/PSDecode/blob/master/PSDecode.psm1#L28

无论如何,关于我如何做到这一点的任何想法?我的桌面上有这些脚本,但不知道如何在同一会话中运行它们,以便它们使用相同的局部变量......

我做了两件事,但它们真的很糟糕: 1. 将所有脚本转换为 1 个脚本并运行它,但在下次运行中我将使用此程序,我可能有 100 个脚本或更多,我真的不想这样做。 2. 我可以保存每个脚本中的局部变量并将其加载到另一个脚本中,但我想在最坏的情况下使用它,但仍然没有到达那里。

非常感谢你帮助我,对不起我的语法,我的英语不是我的母语,正如你所看到的:)

也许您正在寻找点采购:

在当前作用域

中运行脚本,以便将脚本创建的任何函数、别名和变量添加到当前作用域。 PowerShell

. c:\scripts\sample.ps1

如果是这样,请对ps1文件进行点源,并调用其中的函数。

希望有帮助。

相关内容

  • 没有找到相关文章

最新更新