问题标签 [invoke-command]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
104354 浏览

java - 在 JSP 中调用 Java 方法

安装 Mac OSX 10.6.8、Apache Tomcat 6.0.16、Java1.6.0_29、Eclipse IDE Indigo。

我之前在How to execute and include a Java API from a Web App project中问过一个与此类似的问题,但设置已经改变,因为我现在在 WebAp 中有 Java 代码

我正在尝试从 JSP 页面调用 Java 方法并返回结果。我看过很多帖子,但恐怕我对这两种语言都缺乏经验是主要问题。

我有一个搜索 XML 数据库并将内容返回给用户的 JSP WebAp。我被要求集成额外的 Java 代码来搜索预定义的网站并返回内容。

我玩过与下面类似的代码,但我想我正在寻找别的东西

谁能让我更好地了解我在寻找什么?

您还知道我是否必须在 WebAp 中编辑其他任何内容来连接这两个文件?WebINF 文件夹中的类文件?

很感谢任何形式的帮助

困境


}

0 投票
3 回答
8858 浏览

powershell - 使用 Powershell Invoke-Command 远程执行时出现 OutOfMemory 异常

我正在尝试使用调用命令在远程计算机上执行 exe。使用远程桌面登录机器后在远程机器上执行exe需要1GB内存,一分钟后执行完成。而当我在同一台机器上使用 Invoke-Command 执行相同的 exe 时,该过程会返回 OutOfMemoryException 并突然结束。我的调用命令就像Invoke-Command -Session $someSessionVariable -ScriptBlock {Invoke-Expression "abc.exe --arg arg"} -AsJob.

我是否遗漏了有关远程调用限制的内容?

提前致谢。

0 投票
1 回答
653 浏览

powershell - 带有-NoMachineProfile的Powershell调用命令如何获取传递的参数

问题

有谁知道获取与 $MyInvocation 相同数据的方法?强烈的偏好是只使用内置的东西而不是第三方添加软件来实现这一点。

问题

当您使用 -NoMachineProfile 创建会话时,$MyInvocation 不会被填充。我希望有其他方法来获取信息,就像 [System.Environment]::Username 用于 $env:USERNAME 一样。

我无法改变调用事物的方式。请不要建议删除 -NoMachineProfile 作为解决方案,因为这不是一个选项。

我不想依赖 $args 因为那是后处理。即引号、变量和其他传递的参数不再与它们传递时的相同。

背景

$MyInvocation.line 包含提供 0 解析的确切命令。

例如 SomeScript.ps1

.\somescript.ps1 foo bar "foo and bar" 产生以下输出

引号和所有,这意味着它能够被剪切和粘贴,并且在 0 用户翻译的情况下完全以相同的方式运行。

-NoMachineProfile 调用

0 投票
2 回答
5008 浏览

powershell - Powershell 调用命令和系统变量

我正在为供应商应用程序自动化补丁。我想使用 powershell 遍历服务器列表并使用远程处理安装在每个盒子上。然而,一方面让我很头疼。在执行安装脚本之前,我必须调用供应商提供的 cmd 脚本来设置系统变量。所以我在powershell中这样调用脚本:

我看到它执行,因为它在我的 powershell 窗口中呼应了它的工作,但随后调用了安装脚本,即:

立即退出,说它使用的各种系统变量尚未设置。有人可以向我解释系统变量的范围吗?在调用命令完成后它们是否不复存在?我是否需要在一个调用命令中将两个脚本调用串在一起,以便第二个脚本可以访问系统变量或类似的东西?

0 投票
1 回答
2904 浏览

perl - Powershell 调用命令脚本返回码

我正在为供应商应用程序编写部署脚本。它读取映射各种环境的部署路径的 xml,然后遍历各种服务器并复制正确的文件并执行推出脚本。如果推出脚本失败,我希望脚本退出。rollout 脚本是一个 perl 脚本,我需要先调用 .bat 来设置一堆环境变量。正如您在下面看到的那样,我已经发出了所有这些与 & 串在一起的命令,以便 env.bat 设置的系统变量在 perl 脚本运行时仍然可用:

使用变量替换的调用命令如下所示:

所以问题是如何从 perl 脚本(它是在 cmd 上下文中运行的命令字符串中的最后一个命令)将返回码返回到运行脚本的本地计算机?由于我的 powershell 经验有限,因此欢迎对我的方法提出任何其他建议。

0 投票
4 回答
56612 浏览

powershell - 在 Invoke-Command Cmdlet 中处理 ScriptBlock 中的错误

我正在尝试使用 powershell 在远程计算机上安装服务。

到目前为止,我有以下内容:

当执行 New-Service 时出现错误时,$errortext ErrorVariable 会在 ScriptBlock 内正确设置,因为文本:“Error in: 向我显示错误。

Invoke-Command 的 ErrorVariable 未设置(这是我的预期)。

我的问题是:

是否可以将 Invoke-Command 的 ErrorVariable 设置为我在 ScriptBlock 中遇到的错误?

我知道我也可以使用 InstalUtil、WMI 和 SC 来安装服务,但目前这不相关。

0 投票
1 回答
3981 浏览

powershell - 远程符号链接上的 Powershell 调用命令访问被拒绝

在机器 A (Windows 8) 上,我创建了一个符号链接到机器 B (Windows 7) 上的网络共享,以便编译一些特定的 Windows 8 代码。

为了做到这一点,我从机器 B 调用 Invoke-Command 但我收到以下错误:

访问被拒绝。+ CategoryInfo : NotSpecified: (Access is denied.:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError

两台机器使用相同的用户名和密码。我可以在机器 A 的 C:\ 上的其他执行上使用 Invoke-Command,但不能从符号链接中使用。

这是一个错误还是与 Powershell 的“单跳”安全措施有关?

0 投票
8 回答
206054 浏览

powershell - 使用脚本中的参数调用第二个脚本

我有一个脚本,它读取一个配置文件,该文件产生一组名称值对,我想将它们作为参数传递给第二个 PowerShell 脚本中的函数。

我不知道在设计时会在这个配置文件中放置什么参数,所以就在我需要调用第二个 PowerShell 脚本的时候,我基本上只有一个变量具有第二个脚本的路径,还有一个变量变量,它是要传递给路径变量中标识的脚本的参数数组。

因此,包含第二个脚本 ( $scriptPath) 路径的变量可能具有如下值:

包含参数 ( $argumentList) 的变量可能类似于:

如何使用 $argumentList 中的所有参数从这种事态中执行 script.ps1?

我希望从调用第一个脚本的控制台可以看到来自第二个脚本的任何写入主机命令。

我尝试过点源、Invoke-Command、Invoke-Expression 和 Start-Job,但我还没有找到不会产生错误的方法。

例如,我认为最简单的第一条路线是尝试 Start-Job,如下所示:

...但这失败并出现此错误:

...在这种情况下,“ConfigFilename”是第二个脚本定义的参数列表中的第一个参数,我的调用显然是试图将其值设置为“-ConfigFilename”,这显然是为了通过名称来识别参数,不设置它的值。

我错过了什么?

编辑:

好的,这是一个被调用脚本的模型,在一个名为 invokee.ps1 的文件中

...这是调用脚本的模型,在一个名为 invoker.ps1 的文件中:

当我运行invoker.ps1 时,这是我当前在第一次调用Invoke-Expression 时遇到的错误:

第二个调用工作得很好,但一个显着的区别是第一个版本使用的参数的路径中有空格,而第二个没有。我是否错误地处理了这些路径中存在的空格?

0 投票
1 回答
9231 浏览

powershell - Powershell将变量传递给远程脚本

我有以下 cmd 文件:-

它经过:-

但它只是运行但什么也不做。

如果我将 $domain 变量声明为 $domain = 'testdomain.co.uk' 它可以工作,但它不想通过 cmd 文件中的 var。我究竟做错了什么?我试图将它作为 -ArgumentsList -$Param1 放在 Invoke-Command 中,但这也不起作用.....

任何想法都非常受欢迎

谢谢保罗

更新 - 我已经按照以下更新了我的代码,但遇到了同样的问题: -

0 投票
1 回答
2992 浏览

powershell - 如何通过 Invoke-Command 在远程计算机上调用 Powershell 版本 2

我正在尝试使用 powershell 在 Web 服务器上远程设置网站。我尝试配置的 Web 服务器是 Windows Server 2008 R2 SP1,默认情况下它具有 powershell v2。

为了让事情变得更简单,我使用了管理单元“WebAdministration”。

每当我尝试调用以下命令时:

我收到可怕的“没有为 Windows PowerShell 版本 2 注册管理单元”错误。

从逻辑上讲,我通过运行以下命令来检查 powershell 的版本:

我可以远程登录到 Web 服务器并正常运行 Powershell 命令。

有任何想法吗?