在带有参数的函数上使用 Invoke-Command -ScriptBlock

2023-12-14

我正在编写一个 PowerShell 脚本,它将使用以下命令在远程主机上执行命令调用命令和它的-ScriptBlock范围。例如,

function Foo {
    ...
    return "foo"
}
$rv = Invoke-Command --Credential $c --ComputerName $fqdn -ScriptBlock ${function:Foo}

这很好用。我现在想做的是同样的事情,但是使用本地参数调用函数。例如,

function Bar {
    param( [String] $a, [Int] $b )
    ...
    return "foo"
}
[String] $x = "abc"
[Int] $y = 123
$rv = Invoke-Command --Credential $c --ComputerName $fqdn -ScriptBlock ${function:Foo($x,$y)}

但这不起作用:

Invoke-Command:无法验证参数“ScriptBlock”的参数。 该参数为空。提供一个非空参数并尝试该命令 再次。

如何将 Invoke-Command 与-ScriptBlock这是一个带有参数的局部函数?

我意识到我可以将整个函数和参数包装在一个大代码块中,但在我看来,这不是一个干净的方法。


我想你想要:

function Foo ( $a,$b) {
    $a
    $b
    return "foo"
}

$x = "abc"
$y= 123

Invoke-Command -Credential $c -ComputerName $fqdn -ScriptBlock ${function:Foo} -ArgumentList $x,$y
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在带有参数的函数上使用 Invoke-Command -ScriptBlock 的相关文章

  • 使用 Powershell 添加 IIS 8.5 自定义日志记录字段

    带有 IIS 8 5 的 Windows Server 2012 R2 允许使用增强型日志记录自定义日志字段 http www iis net learn get started whats new in iis 85 enhanced l
  • 将服务器添加到 SQL Management Studio

    我想将不同服务器上的一堆 SQL 2000 2005 的混合 服务器实例添加到我的 SSMS SQL Managment Studio 注册服务器 我正在遵循本教程here http sev17 com 2008 12 registerin
  • () 和 $() 之间的区别[重复]

    这个问题在这里已经有答案了 有什么区别 Write Host Get Date just paren and Write Host Get Date dollar paren 括号内的内容可以是任何内容 仅举一个简单的示例 两者有什么区别吗
  • PowerShell 中转义反引号“`”和反斜杠“\”有什么区别?

    我知道两者都在 PowerShell 中使用 但用于不同的上下文 互联网上关于这个主题的信息很少 唯一谈论这个主题的网站 没有让我理解这个概念 是 https www rlmueller net PowerShellEscape htm h
  • Invoke-Sqlcmd 运行脚本两次

    我遇到了一个非常奇怪的问题并且可以重复 基本上 我使用invoke sqlcmd通过使用 inputfile来调用脚本文件 但是如果脚本文件存在一些执行错误 例如插入到列不应为空的表中 则脚本文件将被执行两次 我也可以从探查器中看到这两个执
  • 全局变量用例

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

    我有以下 PowerShell 脚本 它获取给定 IP 地址内计算机的 NetBIOS 名称 我正在使用管道将结果转储到文本文件中 问题是 如果 IP 地址不可用 则会打印警告 这是 PowerShell 脚本 function Get C
  • 获取文件夹及其子文件夹中最长文件路径的长度

    我正在寻找一个可以从命令行 批处理 PowerShell 运行的脚本 该脚本将遍历文件夹及其子文件夹 并返回一个数字 该数字是最长文件路径的长度 我已经看到了一些批处理和 PowerShell 脚本 例如 如何在 Windows 中查找路径
  • PSExec 中的会话 ID

    Psexec 无法在远程会话上为我显示记事本 GUI 因此 我尝试获取会话 ID 如下所示 c Users Amitra Downloads PSTools gt PsExec u administrator p force 135 20
  • 如何获取管道对象的数量?我不想累积管道来缓冲

    假设我有一些 powershell 代码 function count pipe CmdletBinding param Parameter ValueFromPipeline true object inputObject process
  • 如何从 PowerShell 指定应用程序池身份用户和密码

    我在自动化 Web 应用程序设置和使用应用程序池标识适当配置 IIS 方面遇到了很多困难 我在用 PowerShell 编写的 Web 应用程序部署脚本中执行此操作 我的要求是我需要 PowerShell 脚本将应用程序池身份用户设置为特定
  • 替换 CSV 文件中的引号和特殊字符的一些难题

    我在处理一些需要清理并加载到数据库中的 CSV 文件时遇到了一些难题 我相当擅长使用 PowerShell 但不擅长正则表达式和 csv 列操作 这是我遇到的问题 我正在使用的 CSV 文件中有一个 注释 字段 可以包含各种不同的字符 主要
  • 具有相关动态参数的 PowerShell 函数

    我试图定义一个函数 其中动态参数相互依赖 例如 我可能有 1 个参数和两个动态参数 rootPath 驱动器盘符 rootPathItem 第一个文件夹 在驱动器盘符内 rootPathChildItem 第二个文件夹 第一个之内 问题是
  • PowerShell 脚本 ffmpeg

    作为一名优秀的 Windows 系统管理员 我终于开始学习 PowerShell 话虽这么说 我不知道我在做什么 惊讶 惊讶 我认为远离生产环境 在家里使用 PowerShell 对我来说将是一次很好的学习经历 最近 我开始使用 FFMPE
  • 带有多个附件的电子邮件

    我正在为服务台编写一个 PowerShell 脚本 以便在将 userhome 文件夹从服务器迁移到 NAS 设备时使用 帮助台用户将用户名输入到 userhomelist txt 文件中 我的问题是我无法获取脚本来附加所有日志文件 电子邮
  • 如何在 PowerShell 中远程执行 ELEVATED 远程脚本

    我有两台服务器 serverA Windows 2003 服务器 serverB Windows 7的 ServerA包含一个带有批处理文件 deploy bat 的文件夹 需要从提升的 powershell 提示符执行该批处理文件 在Se
  • 如何在 Powershell 中自动对提示回答“是”?

    如何在 PowerShell 会话中输入 是 作为交互式问题的答案 我知道 在 Bash 中 Yes是在提示上回答 是 的工具 在我的情况下 我无法抑制提示 我正在运行的脚本停止于 如果您想继续 请回复 是 powershell 如何运行脚
  • Get-AzureStorageBlob 抛出找不到您的 azure 存储凭据

    我刚刚开始使用 Azure 在使用 PowerShell cmdlet 处理我的存储帐户时遇到问题 我已经创建了一个存储帐户并在该存储帐户中创建了一个容器 接下来 我安装了 Azure Powershell SDK 和命令让等 并导入了pu
  • 如何使用Powershell变量打开Edge?

    我已经尝试过以下方法 edge New Object com microsoft edge application edge visible true edge FullScreen true 但我收到错误 New Object Retri
  • Powershell - 从图像网址下载图像

    对 powershell 的了解有限 我尝试从图像网址下载图像 例如这样 http hdwallpaperia com wp content uploads 2014 01 Mc Laren P1 Wallpaper Image Pictu

随机推荐

  • Spring Security - 如何启用方法安全注释?

    StackOverflow 上有很多类似的问题 但我找不到任何答案 我有 web xml 像
  • 在 Python 中创建 jTDS 连接字符串

    我正在尝试使用 Python 建立 jTDS 连接 谁能帮我完成这个任务吗 在 SQL Server 中 我通常使用以下连接字符串进行连接 jdbc jtds sqlserver DBServer port DBInstance useNT
  • 这个方法怎么给我一个-61错误?

    这是我正在使用的一个名为 Mirth 的应用程序 但它似乎来自 Apache Commons 库内部的一个方法 该方法检查某些内容是否确实是 Base64 编码的 所有文档都说唯一的返回是 true 或 false 那么我怎么得到 61 呢
  • 任何用于显示来自相机的实时图像的快速 Python GUI

    我正在尝试显示 1394 相机的实时图像 目前 我的代码能够从相机循环获取图像 并且我正在寻找任何可以动态更新的快速 GUI 作为单独的线程 我可以在 PyQt 中使用 QThreads 来做到这一点 但是有没有任何建议或更快的方法来做到这
  • 如何从 unicode (utf-8) csv 文件导入 numpy 数组

    我并不是想聪明或快速地做到这一点 只是想完全做到这一点 我有一个如下所示的文件 cat all user token counts csv 5raphaels in 15 5raphaels for 15 5raphaels unless
  • 应用内购买是否适用于电子书/有声读物?

    我们是一家销售精装书 电子书和有声读物的书店 我们有一个网站 接受客户使用信用卡进行在线支付 我们还有一个 iOS 和 Android 应用程序 用户可以在其中阅读 收听购买的书籍 现在我们想通过我们的 iOS 本机应用程序 以及将来的 A
  • 将 Wordpress 与 Symfony 集成

    我有一个用 Symfony 1 2 构建的网站 我正在尝试将 Wordpress 2 8 4 集成到其中以支持我的博客 我按照以下说明进行操作http www theodo fr blog 2009 03 integrate wordpre
  • Google Cloud Messaging 中泄露的 IntentReceiver

    我已经在我的应用程序中实现了 GCM 并且正在使用GSM注册器按照建议here 不 我在 logcat 中收到错误 7 02 23 35 15 830 E ActivityThread 10442 Activity com abc xyz
  • 如何在nativescript中使用原生android小部件类型定义?

    我通过添加安装了平台定义 tns platform declarations 2 5 2 但是 当我使用中的定义时tns platform declarations android d ts我无法访问 API 的某些部分 例如 我无法访问a
  • Python数字格式化[重复]

    这个问题在这里已经有答案了 可能的重复 字符串格式选项 优点和缺点 有什么区别 2f x and 2f format x 我对应该使用哪种方法以及哪个版本的 Python 有点困惑 一般来说 您想使用第二种形式 format 它是较新的 另
  • 如何获取 S3 存储桶中所有不同前缀的列表?

    如果我有如下目录结构并且前缀是 folder1 folder1 folder11 folder12 folder13 files folder21 folder22 folder23 files folder31 folder32 file
  • 如何借助Timepicker设置时间? 12 小时制

    我设置了时间选择器 它运行良好 但问题是我想设置为5 00 AM我得到输出 24 小时格式 但我想设置 12 小时格式 这里是代码 package com example sachin timepicker import android a
  • 如何在 CakePHP2 中缓存静态内容(css、图像、js 文件)?

    我需要设置一些 HTTP 标头 Expires Cache Control Last Modified 适用于 CSS 文件 图像文件 js 文件等资源 等 Webroot 内容 我读到有一些功能 通过 Configure write As
  • 为什么当 'let' 表达式计算结果为 0 时,带有 -e 选项的 Bash 会退出? [复制]

    这个问题在这里已经有答案了 我很难理解为什么会这样 e选项退出此脚本 仅当计算的表达式给出时才会发生0 bin bash set ex table year 1979 1982 1980 1993 1995 year 1 let indic
  • C++20 中的 `constinit` 是什么?

    constinit是一个新的keyword and 说明符在 C 20 中提出P1143 标准中提供了以下示例 const char g return dynamic initialization constexpr const char
  • 分布式锁服务[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 您会使用哪种分布式锁服务 要求是 不同进程 机器可以看到的互斥 锁 锁定 释放语义 一定超时后自动释放锁 如果锁持有者死亡 它将在 X 秒后自动释放 Java实现 很高兴拥有 Net 实现
  • 自定义轮播间隔?

    在 Bootstrap 3 中 使用 jQuery 有没有一种方法可以按轮播的索引进行排序并添加每张幻灯片的自定义间隔 以便我可以让一张幻灯片 10000 毫秒 另一张幻灯片 500 毫秒等 我知道您可以设置数据间隔属性 但这会设置所有幻灯
  • 如何使用asp.net core从appsettings.json获取配置数据并做出反应

    我正在使用带有react redux的asp net core 并且我正在尝试将react redux中的配置数据移动到appsettings json文件中 但是一旦配置数据被移动 ClientApp 如何访问配置数据 我正在将 Reac
  • Google 地图:相对于固定定位

    我正在寻找的效果是 我有一个浮动的 div 里面有 Google 地图 当用户向下滚动时 我希望它固定在 top 0px 这基本上就是 Yelp 搜索页面上的地图 有几个类似的问题询问如何使用 JQuery 将 div 的类更改为固定 一旦
  • 在带有参数的函数上使用 Invoke-Command -ScriptBlock

    我正在编写一个 PowerShell 脚本 它将使用以下命令在远程主机上执行命令调用命令和它的 ScriptBlock范围 例如 function Foo return foo rv Invoke Command Credential c