迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 PowerShell 中远程处理 $Using 变量范围

作者:迹忆客 最近更新:2024/02/01 浏览次数:

在 PowerShell 中使用远程命令时,有时你可能希望在远程会话中使用本地变量。但是如果你在远程命令中使用局部变量,它会返回一个错误,因为该变量不是在远程会话中创建的。

默认情况下,PowerShell 期望远程命令中的变量在命令运行的远程会话中定义。Using 是一个特殊的作用域修饰符,允许你在远程命令中使用局部变量。

Using 范围修饰符将本地会话中定义的变量标识为远程命令中的本地变量。它是在 PowerShell 3.0 中引入的。

本教程将教你使用 PowerShell 中的 Using 在远程命令中使用局部变量。


在 PowerShell 中使用 Using 范围修饰符

Using 范围修饰符的语法是:

$Using:VariableName

Using 范围修饰符在远程执行的命令中受支持,从 Invoke-Command 开始使用 ComputerNameHostNameSSHConnectionSession 参数。

以下脚本显示了在本地计算机中定义并在远程会话中使用的 $test 变量。

$test = "C:\New\complex"
Invoke-Command -ComputerName remotePC -ScriptBlock {
  Get-ChildItem $Using:test
}

第一个命令将目录 C:\New\complex 的路径存储在本地计算机的 $test 变量中。第二个命令在远程计算机上运行带有本地变量 $testGet-ChildItem 命令。

因此,它会打印远程计算机目录 C:\New\complex 中存在的项目。

输出:

Directory: C:\New\complex
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        20-12-2021     19:31         112125 architecture of aqps.png
-a----        20-12-2021     21:32          33148 formula.png
-a----        20-12-2021     21:30          55621 modules.png
-a----        20-12-2021     16:35         190485 output paper.png

你还可以在 PSSession 中使用 Using 范围修饰符。

在以下示例中,两个变量 $a$b 在本地会话中创建并在远程会话中使用。 $result 变量在远程会话中定义,它存储 $a$b 中的值的乘积。

$ps = New-PSSession -ComputerName remotePC
$a=5
$b=6
Invoke-Command -Session $ps -ScriptBlock {
$result = $Using:a*$Using:b
Write-Host The result is $result
}

输出:

The result is 30

我们希望本教程能帮助你了解如何在远程命令中对局部变量使用 Using 范围修饰符。有关详细信息,请阅读 about_Remote_Variables

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PowerShell 中管理服务

发布时间:2024/02/08 浏览次数:116 分类:编程语言

本文将讨论 PowerShell 服务 cmdlet、如何使用它们,并开发我们的脚本以在本地或远程管理多台计算机上的服务。

在 PowerShell 中提取子字符串

发布时间:2024/02/07 浏览次数:162 分类:编程语言

本文将讨论如何使用 PowerShell 的字符串库有效地提取字符串中的子字符串。作为 Windows 管理员的一个典型场景是找出一种方法来在称为子字符串的字符串中查找特定的文本片段

在 PowerShell 中连接字符串

发布时间:2024/02/07 浏览次数:175 分类:编程语言

本文将展示我们可以在 PowerShell 中使用的所有可能的方法来连接字符串和变量。PowerShell 使用不同的运算符和函数来实现字符串连接。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便