Powershell启动过程,用于启动Powershell会话并传递局部变量

ato*_*son 5 powershell start-process scriptblock

有没有一种方法可以使用Powershell Start-Process cmdlet启动新的Powershell会话并传递带有局部变量的脚本块(其中一次将是数组)?

例:

$Array = @(1,2,3,4)

$String = "This is string number"

$Scriptblock = {$Array | ForEach-Object {Write-Host $String $_}}

Start-Process Powershell -ArgumentList "$Scriptblock"
Run Code Online (Sandbox Code Playgroud)

谢谢。

ato*_*son 2

我能够通过使用“/”连接数组来创建字符串,然后使用适当的参数将脚本块输入到另一个 .ps1 脚本中,并将连接的字符串拆分回第二个脚本中的数组并使用

Start-Process Powershell -ArgumentList "&C:\script.ps1 $JoinedArray $String"
Run Code Online (Sandbox Code Playgroud)

丑陋,但这是我让它发挥作用的唯一方法。感谢所有的答复。