如何将变量从远程 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 会话 的相关文章

  • 更改每个命令的 powershell 标题

    我想在窗口标题中显示我在 powershell 中输入的最后一个命令 以便更容易找到 目前我有 C gt host ui rawui WindowTitle 但这只是获取相对于我输入时的上一个命令 所以如果我有 C gt cd C gt h
  • 查询计算机列表 - 输出上次登录用户和上次登录日期

    我正在创建一个脚本来从 txt 文件中检索所有计算机名称 然后对它们进行查询 计算机名 用户名 最后登录计算机的用户名 上次登录 使用的日期 这就是我所拥有的 Clear Host machines Get Content Path C U
  • 如何根据事件触发SSRS订阅?

    有没有一种方法可以让我在共享文件夹中创建文件等事件时触发 SSRS 订阅 基于时间 我们可以使用 powershell 或 C 来实现吗 SSRS 中是否有可用的开箱即用功能 尽管我认为没有 我正在使用 SQL Server 2008 R2
  • PowerShell 中的 COM 接口包装?

    我在 C 中有以下代码 我尝试将其移植到 PowerShell 但我不知道如何移植这个演员 ISkypeEvents Event skype CallStatus CallStatusHandler 如果我只是在 PowerShell 控制
  • 如何使用 PowerShell 复制项目并保持结构

    我有一个如下所示的目录结构 C folderA folderB folderC client1 f1 files C folderA folderB folderC client1 f2 files C folderA folderB fo
  • 如何在 PowerShell 中获取当前活动/前台窗口

    我知道这可以通过使用 alt tab 轻松完成 但创建此脚本的主要目的是自学一些 PowerShell 基础知识 我正在编写一个脚本 运行时会在 powershell 和当前前台窗口之间切换前台窗口 我读这个问题 https stackov
  • 根据字符串列表查找第一个可用的序列号?

    给定一个字符串列表 例如 apple01 apple02 and apple04 banana02 cherry01 你会如何想出first可用序列号each类型 也就是说 apple03如果我问apple or banana01如果我问b
  • 与 PowerShell CmdLets 互操作

    我一直在编写一些利用 App V 的 PowerShell Cmdlet 的实用程序 有趣的是 微软似乎只记录了 cmdlet 而不记录 Powershell 模块背后使用的 net 程序集 现在 我熟悉了 P Invoke 和 COM I
  • 如何在 PowerShell 中键入 TAB 字符?

    Task 默认情况下 在 Windows 命令提示符中按 TAB 键将输出文件名 而在 PowerShell 中则不会执行任何操作 我希望能够在交互模式下键入 TAB 字符 而不是通过脚本 Research 我在这个网站上和通过谷歌搜索发现
  • 有哪些基于对象的 shell?

    我打算写一个面向对象的shell 基于Python 我已经有很多想法了 但在实现它之前 我想通过一些现有的 shell 来激发我的灵感 我所说的面向对象的基本意思是 参数不仅仅是字符串数组 而且是对象数组 返回值也是一个对象 不仅有 std
  • “Connect-MsolService”未被识别为 cmdlet 的名称

    PSCommand commandToRun new PSCommand commandToRun AddCommand Connect MsolService commandToRun AddParameter Credential ne
  • 如何通过在原始文件名前添加序列号来重命名文件?

    伙计们 有谁知道我该怎么做 我试图通过在文件名的开头添加 1 2 3 等按数字顺序列出一些文件 同时保留文件的原始名称 这是我尝试过的代码 nr 1 Dir path C x y deneme Rename Item NewName 0 N
  • 启动 psexec 后获取进程 ID

    我有一个使用 psexec 在远程计算机上调用记事本的脚本 有什么办法可以在启动后获取进程ID吗 这是我所拥有的 PCname MyPC SessionID 2 Program Notepad exe FilePath C temp Fil
  • 检查文件是否存在,然后移动它

    我正在尝试在 powershell 中编写几行代码 以检查文件是否到达特定文件夹 如果该文件存在 请将其复制到另一个文件夹 如果该文件不存在 则无需执行任何操作 到目前为止我只有复制部分 cd C Move y C myfolder csv
  • 在 React 应用程序的 shell 脚本中设置环境变量

    我正在尝试在 powershell 和 bash 脚本中设置一些环境变量 并在 ReactJS 应用程序中读取它们 shell脚本很简单 env AUTHDOMAIN some domain com env AUTHCLIENTID bun
  • 模块函数中使用的 $_ 变量为空 (PowerShell)

    这里有一个问题要问你 我有这个功能 function Set DbFile param Parameter ValueFromPipeline true System IO FileInfo InputObject Parameter Va
  • PowerShell:如何强制以数组而不是对象的形式获取结果

    result Get ADUser Filter filter 如果我有 2 个或更多结果 则将 x 作为数组获取 但如果我只有一个结果 则将 x 作为对象获取 如何使其更正确 始终接收数组 空 包含一个元素或包含一些元素 Try x ge
  • 使用Powershell在断开的网卡上设置静态IP,可能吗?

    我需要在 Windows 10 上未连接到网络时设置网卡的 IP 地址 我试过了 Set NetIPAddress InterfaceAlias Ethernet IPAddress 192 168 5 10 PrefixLength 24
  • 从文本文件中删除行(如果其开头为)

    我有包含无效记录的大型文本文件 我想删除第一个字段为空白的所有行 文件分隔符是波浪号 所以本质上我想删除第一个字符为 的所有行 有人可以协助编写 PowerShell 代码吗 我似乎无法正确理解 只需添加我评论中的答案部分作为答案 以便人们
  • 如果未提供值,如何从 cmdlet 中省略 powershell 参数?

    我正在尝试执行下面的 Powershell 命令 在交换服务器上创建一个新的地址列表 其中包含名称 容器等参数 Container是可选输入 参数 如果未提供其值 如何从 cmdlet 中省略它 我尝试过IF有条件但但似乎不起作用 这里有什

随机推荐