gpt4 book ai didi

powershell - 如何将局部变量传递给远程 `Invoke-Command` ?

转载 作者:行者123 更新时间:2023-12-04 04:49:50 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Problems using local variables in a remote commands

(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
}

我如何在 scriptblock 中访问这个变量远程 session ?

最佳答案

在 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/

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