gpt4 book ai didi

Powershell Start-Process 启动 Powershell session 并传递局部变量

转载 作者:行者123 更新时间:2023-12-03 16:32:58 27 4
gpt4 key购买 nike

有没有办法使用 Powershell Start-Process cmdlet 来启动一个新的 Powershell session 并传递一个带有局部变量的脚本块(其中一个将是一个数组)?

例子:

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

$String = "This is string number"

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

Start-Process Powershell -ArgumentList "$Scriptblock"

谢谢。

最佳答案

我很确定没有直接的方法可以将变量从一个 PowerShell session 传递到另一个 session 。你能做的最好的事情是一些解决方法,比如在你传入的代码中声明变量 -参数列表 ,在调用 session 中插入值。如何将变量插入 中的声明中-参数列表取决于什么类型的变量。对于数组和字符串,您可以执行以下操作:

$command = '<contents of your scriptblock without the curly braces>'

Start-Process powershell -ArgumentList ("`$Array = echo $Array; `$String = '$String';" + $command)

关于Powershell Start-Process 启动 Powershell session 并传递局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17776426/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com