This question already has an answer here:
Problems using local variables in a remote commands
(1个答案)
去年关闭。
我正在尝试使用
但是我需要通过一个变量来传递文件名,如下所示:
如何在远程 session 的
对于适用于所有版本的解决方案:
(1个答案)
去年关闭。
我正在尝试使用
Invoke-Command
检索位于远程服务器上的文件的哈希。当我给出如下完整路径时,它工作正常:Invoke-Command -ComputerName winserver -ScriptBlock {
Get-FileHash -Path E:\test\testfile.zip -Algorithm SHA1
}
但是我需要通过一个变量来传递文件名,如下所示:
Invoke-Command -ComputerName winserver -ScriptBlock {
Get-FileHash -Path "E:\test\$dest.zip" -Algorithm SHA1
}
如何在远程 session 的
scriptblock
中访问此变量? 最佳答案
在PowerShell 4(实际上是3+)中,最简单的方法是使用 Using
scope modifier:
Invoke-Command -ComputerName winserver -ScriptBlock {
Get-FileHash E:\test\$Using:dest.zip -Algorithm SHA1
}
对于适用于所有版本的解决方案:
Invoke-Command -ComputerName winserver -ScriptBlock {
param($myDest)
Get-FileHash E:\test\$myDest.zip -Algorithm SHA1
} -ArgumentList $dest
关于powershell - 如何将本地变量传递给远程 `Invoke-Command`?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35492437/
10-15 11:33