如何将变量从远程 PowerShell 会话返回到本地 PowerShell 会话

2024-02-26

我有一个创建新 PowerShell 会话的 PowerShell 脚本。我需要将此会话中创建的无数变量中的一个变量返回到本地/调用会话。这是我的 PowerShell 脚本:

param
(
[string]$user,
[string]$password
)

$secure_password = ConvertTo-SecureString $password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential $user, $secure_password

$new_session = New-PSSession -Credential $cred

$script = {
$var1 = 0
$var2 = a
}

Invoke-Command -Session $new_session -ScriptBlock $script

Write-Host ($var2)

当脚本执行时Write-Host ($var2),它不会打印 $var2 的任何值。如何将 $var2 返回到本地会话?


param
(
[string]$user,
[string]$password
)

$secure_password = ConvertTo-SecureString $password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential $user, $secure_password

$new_session = New-PSSession -Credential $cred

$script = {
    $var1 = 0
    $var2 = a
    $var2
}

$varFromSession = Invoke-Command -Session $new_session -ScriptBlock $script

Write-Host $varFromSession

只需从会话的脚本块返回变量即可Write-Output or return或者只是在另一个命令中使用该变量,正如我所演示的那样。返回值Invoke-Command将是脚本块写入管道的任何内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将变量从远程 PowerShell 会话返回到本地 PowerShell 会话 的相关文章

  • Azure Runbook 输出到电子邮件

    我正在尝试将 VM 状态的输出从 Azure 自动化 Runbook 发送到电子邮件中 我使用以下代码 function Send EMail Param Parameter Mandatory true String EmailTo Pa
  • 使用 WebClient 在 PowerShell 脚本中将 FTP 从二进制更改为 ascii

    简单的 PowerShell 脚本 它可以毫无问题地下载文件 二进制 我需要它的ascii 格式 File c temp ftpfile txt ftp ftp myusername email protected cdn cgi l em
  • Powershell强类型环境变量

    我想设置一个强类型环境变量 当我使用 env 时它似乎 丢失 了它的类型 在原始函数中它工作正常 function Create ThisCrap Microsoft ApplicationInsights TelemetryClient
  • 使用 C# 执行 Powershell commandlet 时出错

    我有以下经过测试且有效的代码 using new Impersonator Administrator dev dev RunspaceConfiguration runspaceConfiguration RunspaceConfigur
  • 在 cygwin 和 powershell 中查看不同的 gem 列表

    我用的是gem listpowershell 和 cygwin 中的命令都显示不同的 gem 列表 Cygwin 显示 LOCAL GEMS bundler 1 2 3 json 1 7 5 minitest 2 12 1 rake 0 9
  • Foreach-object Parallel 块内的错误处理 - Powershell 7

    在下面的 Foreach Object Parallel 块中捕获错误的最佳方法是什么 因为将有三个单独的线程 运行空间运行并执行块中写入的代码 并且可能同时发生多个错误 异常 是否可以捕获列表 变量中的所有错误并在脚本执行结束时显示 1
  • 使用 Powershell 或 C# 获取 Azure“文件和文件夹”作业状态

    我一直在尝试找到一种方法来获取在 AzureRM 中运行的几个客户上运行的 文件和文件夹 备份作业的状态 可以在 AzureRm 门户中手动找到状态 恢复服务保管库 gt 作业 gt 备份作业 使用powershell不显示任何作业信息 G
  • 无法使用 Windows 窗体中的内容处理 powershell 功能

    function CalendarShare Add MailboxFolderPermission Identity FromUser Text AccessRights Editor User ToUser Text 当程序运行时 它会
  • 在 PowerShell 中,如何组合具有一对一关系的两个命令的结果?

    此特定示例是 Get User 和 Get Mailbox Exchange 2010 Get User 返回一些我需要的列 Get Mailbox 返回一些其他列 我很难弄清楚如何将两者的结果合并到一个表中 并包含两者的结果 Get Us
  • 使用 PowerShell 批量复制和重命名文件

    我正在尝试使用 PowerShell 批量复制和重命名文件 原始文件名为AAA001A jpg AAB002A jpg AAB003A jpg等 我想用新名称复制文件 方法是从文件名中删除前四个字符以及句点之前的字符 以便复制的文件被命名为
  • powershell循环持续检查服务器是否启动

    我想运行一个脚本来检查 5 台服务器是否已启动并根据特定服务正在运行 如果该服务正在运行 那么我们就知道该服务器已启动并可访问 如果它没有回复 那么我希望它继续检查 这是我到目前为止得到的 Get Service LANMANSERVER
  • 如何在Powershell控制台中分配多行字符串

    当我在 powershell 控制台中输入此内容时 test Test Test 并且输入多次 它会一直打印 gt gt 所以我永远无法完成命令 该怎么办 应该是行中的第一件事 或者它被认为只是字符串的一部分 test Test Test
  • 通过快捷方式更改桌面的 Powershell 脚本

    关于为什么从 w in PS 运行时有效 但从定义为以下的快捷方式运行时无效的任何想法和建议 SystemRoot system32 WindowsPowerShell v1 0 powershell exe File C Users bi
  • 拖放到 Powershell 脚本

    我以为我已经找到了这个问题的答案 但我玩得越多 我就越发现它是 Powershell 的设计缺陷 我想拖放 或使用发送到机制 将多个文件和 或文件夹作为数组传递到 Powershell 脚本 测试脚本 Test ps1 param stri
  • 为管道重用自定义对象时出现意外结果

    A while ago I changed my Join Object https stackoverflow com a 45483110 1701026 cmdlet which appeared to cause a bug whi
  • 如何在 PowerShell 中将长命令拆分为多行

    如何在 PowerShell 中获取如下所示的命令并将其拆分为多行 C Program Files IIS Microsoft Web Deploy msdeploy exe verb sync source contentPath c w
  • () 和 $() 之间的区别[重复]

    这个问题在这里已经有答案了 有什么区别 Write Host Get Date just paren and Write Host Get Date dollar paren 括号内的内容可以是任何内容 仅举一个简单的示例 两者有什么区别吗
  • 全局变量用例

    我有几个脚本和模块 它们使用全局变量来完成很多事情 我的日志记录可以采用以下三种形式之一 简洁 详细和验证 没有实际操作的详细日志记录 仅验证提供的数据 我还有许多函数 它们根据运行的上下文 用户或机器 而做出不同的响应 并且正在执行的操作
  • powershell:使用参数启动程序的脚本?

    当我运行下面的 Powershell 脚本时 我收到以下错误 如何通过 powershell 带参数运行程序 该脚本将是组策略登录 Invoke Expression 找不到位置参数 接受参数 TBHSERVER NETLOGON BGIn
  • Powershell 命令未发现异常

    我有以下 powershell 脚本 它使用一个函数并且可以在 ISE 中正常运行 Get ComputerSessions Computer localhost Functions Function Get ComputerSession

随机推荐