问题标签 [powershell-remoting]

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 投票
1 回答
451 浏览

powershell - 从远程 Powershell 调用中获取函数值

我远程调用了一个 Powershell 脚本(.ps1),该脚本调用了来自第 3 方程序集(Rebex SFTP 组件)的函数。该函数返回一个整数值。此远程调用是从 C# 代码完成的。

我想将该调用的结果转换为 int 以便在 C# 代码中进行进一步处理。

如何最有效地做到这一点?

这是一些代码:

RemoteInvocationManager 的代码片段(带有 Powershell Remoting 的自定义类,只是重要部分):

调用 RemoveInocationManager 的代码片段:

Powershell 脚本的代码片段(.ps1 文件):

0 投票
2 回答
12703 浏览

powershell - 从远程计算机获取 powershell 中 .dll 的文件版本

我正在尝试在多台服务器上使用 Powershell 远程获取 dll 的文件版本,并将服务器名称、dll 版本和 dll 文件位置写入 csv 或 html 报告。问题是一些服务器是 Win 2003 和 Win 2008。因此该文件可能驻留在例如 C:\Program Files\WinZip\WZCAB.DLL 或 C:\Program Files (x86)\WinZip\WZCAB.DLL 中。该脚本将检查一个位置,如果它不存在,它将检查另一个位置,然后将其写出。谁能帮我吗?

只是几件事 - 此脚本将用于访问 200 多台服务器或 VM 的 2003 和 2008。在 2003 上它需要 Powershell 2.0 和 2008 将及时启用远程处理。我在想也许我需要使用 WMI。我还有两个利用 WMI 获取补丁和重启时间的脚本。我确实尝试了 Ravikanth 脚本(再次感谢您)并在传递服务器的 txt 文件时收到以下错误 - 一个或多个计算机名称无效。如果您尝试传递 Uri,请使用 -ConnectionUri 参数或传递 Uri 对象而不是字符串。再次,因为我不会在每台服务器上启用远程处理,还有其他方法吗?我修改了 Ravikanth 脚本(如下)并在本地尝试过,效果很好。当我远程尝试时,它没有。有什么想法吗?

0 投票
1 回答
895 浏览

shell - Powershell remote session external command execution

I've been playing around with powershell remoting and I've come across a problem that I am unable to resolve. I have a script that creates a remote session and after setting up some variables does the following:

Within the block everything works fine except when it comes to a specific line, at which point the script hangs. The pertinent line is:

When I log into the computer that is hosting the remote powershell session I can see external_command.exe in the process list but it's not doing anything. Does anyone have any ideas on how to resolve the issue?

0 投票
1 回答
3512 浏览

powershell - powershell 从 PC 中删除软件

我有以下代码可以完美运行。唯一的问题是我不知道该软件是否已被删除。这并没有告诉我,但下面的代码可以。

这种方式对我有用。

我的问题是我如何判断该软件是否已被删除。使用此代码。

0 投票
1 回答
1432 浏览

powershell - Powershell 删除已安装的应用程序

是否可以通过发布者名称删除软件。我尝试了不同的方法来做到这一点,但我做不到。我可以使用名称将其删除,但某些程序名称不匹配但发布者相同。

例如

我已经尝试过了,但它失败了。

0 投票
1 回答
12456 浏览

powershell - 在远程会话中启动在会话被删除时不会被终止的后台任务

我一直在使用PsExec -d远程 powershell 会话中启动控制台应用程序,因为我希望这些应用程序在我执行某些任务时在后台运行。问题是我希望后台应用程序继续运行,即使我用Remove-PSSession. 当前发生的情况是,一旦远程 powershell 会话被终止,所有在PsExec -d. 我猜它与进程树以及 Windows 如何管理此类事物的生命周期有关。

有谁知道我如何启动远程后台进程并让该进程在远程会话被终止后仍然存在?

0 投票
3 回答
16001 浏览

powershell - powershell remoting Win2008R2“WSMan 服务无法启动主机进程来处理给定的请求”

我最近将一些服务器从 2003 升级到 2008R2。自升级以来,我开始看到以下错误:

[servername] 连接到远程服务器失败并显示以下错误消息:WSMan 服务无法启动主机进程来处理给定的请求。确保 WSMan 提供程序主机服务器和代理已正确注册。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。

该错误似乎是随机的。该脚本将工作,然后失败。创建会话的命令在循环中(创建会话、删除会话),并且作为一组部署脚本的一部分被多次调用。当脚本失败时,它会在不同的点上失败。

我检查了本地工作站 (win7) 目标服务器 (win2008R2) 上的事件日志,但没有看到任何错误。

这是随机失败的行:

$session = New-PSSession -ComputerName $serverName -Credential $credential

我在Win2003上没有看到这个问题。脚本没有改变。我假设问题出在目标服​​务器上,但找不到任何要查看的错误或日志。它会工作一次然后失败,所以我的部署脚本有时会成功,然后在不同的点失败。

任何有关追踪此问题的指导将不胜感激。

0 投票
1 回答
2046 浏览

powershell - Powershell远程处理:使用Powershell远程配置文件中加载的功能?

当我在 RemoteServer 上有一个加载某些功能的配置文件时,我是否理解正确,这些功能应该在远程 PSSession 中可用?

我的测试没有成功,有什么特别的技巧可以让它工作吗?

我想参考网络共享上的文件夹以使单个源上的所有功能都可用。

0 投票
2 回答
1480 浏览

c# - 从 C# 环境将参数传递给 powershell 脚本文件

我知道主题行看起来太普通了,并且有一些帖子解决了许多此类问题。我没有找到我正在寻找的东西,因此没有找到这篇文章。

我正在从机器 A 调用要在远程机器(机器 B)上执行的 powershell 文件。

//这里是代码片段:


现在在行字符串 scripttext5 = "Invoke-Command -Session $s -FilePath 'helper.ps1' | out-null"; 我必须将一些参数(例如,来自 c# 环境的用户名:useralias)传递给这个 helper.ps1 文件进行处理。任何人都可以指导我正确的方法吗?

TIA,马尼什

0 投票
2 回答
502 浏览

powershell - 无法在 RemotePS 会话中使用 Windows 更新 COM 对象

我试图使用 powershell 更改远程服务器中的 Windows 更新设置,但是当我运行以下命令时,它给了我一个错误。

虽然当我在服务器上本地运行它时它工作正常......

谁能帮帮我。