gpt4 book ai didi

Powershell:脚本 block 中的 & 问题

转载 作者:行者123 更新时间:2023-12-04 13:32:48 25 4
gpt4 key购买 nike

运行以下命令时遇到问题

$x =  "c:\Scripts\Log3.ps1"
$remoteMachineName = "172.16.61.51"
Invoke-Command -ComputerName $remoteMachineName -ScriptBlock {& $x}

The expression after '&' in a pipeline element produced an invalid object. It must result in a command name, script
block or CommandInfo object.
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : BadExpression
+ PSComputerName : 172.16.61.51

如果我不使用 $x 则不会出现问题多变的
Invoke-Command -ComputerName $remoteMachineName  -ScriptBlock {& 'c:\scripts\log3.ps1'}

Directory: C:\scripts


Mode LastWriteTime Length Name PSComputerName
---- ------------- ------ ---- --------------
-a--- 7/25/2013 9:45 PM 0 new_file2.txt 172.16.61.51

最佳答案

PowerShell session 中的变量不会转移到使用 Invoke-Command 创建的 session 中

您需要使用 -ArgumentList参数发送变量你的命令,然后使用 $args数组以在脚本块中访问它们,因此您的命令将如下所示:

Invoke-Command -ComputerName $remoteMachineName  -ScriptBlock {& $args[0]} -ArgumentList $x

关于Powershell:脚本 block 中的 & 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17880902/

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