问题标签 [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 回答
2029 浏览

powershell - 从 ASP.NET 应用程序调用 New-PSSession 失败(创建空对象)

我有一个试图在远程计算机上运行的 powershell 脚本。我有一个本地 PS 脚本,它创建与远程机器的会话,然后调用远程脚本,如下所示:

如果我从 PS 控制台运行本地脚本,它会按预期工作,并且远程脚本运行。但是,当我尝试从我的 ASP.NET 应用程序执行它时,$session 变量为空——未创建/建立会话——因此,该脚本不在远程计算机上运行。Powershell 不会返回错误或任何其他失败的指示......我只能看到$session -eq $null.

我已验证 Web 应用程序正在使用的 apppool 在我登录时使用的同一帐户下运行,因此它应该具有相同的权限。下面是我从 ASP.NET 中调用本地脚本的方式:

我希望有人能看到我所缺少的;谷歌似乎没有太多关于 powershell 无法创建远程会话的问题。

0 投票
1 回答
7640 浏览

powershell - C# 应用程序运行 PowerShell 多个远程命令

我有一个简单的控制台应用程序,试图通过 PowerShell 在 Exchange 中创建一个通讯组并向其中添加一些成员。

当我运行我的应用程序时,它会引发此错误:输入对象无法绑定到命令的任何参数,因为命令不接受管道输入,或者输入及其属性与接受管道输入的任何参数都不匹配。

但实际上是创建了通讯组。

另外,我注意到,当我注释掉创建新通讯组的命令并运行添加通讯组成员的命令时,只添加了第一个成员。我真的很困惑我应该如何处理这个问题,我有以下问题:

  1. 如何让我的代码成功运行所有命令?

  2. 执行多个远程 PowerShell 命令的最佳方法是什么?我是否分别运行每个命令,检查返回对象是否成功,然后继续执行下一个命令。有什么性能问题需要注意吗?

  3. 运行空间一次只运行一个命令吗?

当我尝试以下代码时,我遇到了这个错误: 这个运行空间不支持语法。这可能是因为它处于无语言模式。

0 投票
2 回答
4455 浏览

c# - C# Powershell 管道 foreach-object

我有这个 PowerShell 命令来将成员添加到 Exchange Online 中的分发组。这在 PS 中可以正常工作。但我需要从 C# 应用程序执行此操作。

我需要将包含成员的数组传递给 PS 中的 $arr 并将其通过管道传递给 foreach 对象。我做了很多搜索,但所有示例仅显示如何执行单个命令。C#中的PS命令怎么写?

代码片段:

注意:我不能通过AddScript执行此操作,因为远程脚本在我们的 PS 中被阻止。由于运行空间仅执行第一个管道,因此执行以下类似操作也不起作用。

0 投票
1 回答
13949 浏览

powershell - Powershell,拒绝对网络资源的远程脚本访问

我正在尝试使用调用命令远程执行 powershell 脚本。该脚本依赖于可通过本地网络获得的配置文件。该脚本以下列方式调用:

如您所见,配置是一个 xml 文件,它使用以下方式加载:

当在机器上本地调用该脚本时,它会在没有任何问题的情况下运行并读取配置文件。但是,当我使用调用命令从不同的机器上运行它时,我得到了

“访问路径 '\\192.168.137.1\share\config.xml' 被拒绝”

执行Load方法时抛出的异常。

具有读写权限的每个人都可以访问该文件。应该运行脚本的机器 (.181) 和物理上运行它的机器都具有相同的凭据,因此我不会在调用命令 cmdlet 中传递它们。共享机器 (.1) 具有不同的凭据,但是从 .181 本地调用脚本时,这从来不是问题。

你能指出我正确的方向吗?我坚持这一步,无法自己找到解决方案。我尝试使用 WebClient#DownloadString 方法下载 xml 字符串并为共享机器传递凭据,但它没有帮助。

提前致谢

0 投票
1 回答
460 浏览

powershell - 从另一个脚本调用远程脚本失败

我创建的脚本有一个奇怪的问题。

它在几个不同的远程主机上执行各种操作。当直接从命令行调用时,它可以完美运行。但是,当从另一个脚本(使用“&”或“.”运算符)调用该脚本时,某些远程机器会失败。

一些远程主机与我正在运行的机器加入了同一个域,这些主机失败了。一些远程主机是非域链接机器,并且为它们显式提供了凭据 - 在这种情况下,无论是直接调用还是从脚本调用,它们都可以工作。

错误是:

使用 Kerberos 身份验证时发生以下错误:当前没有可用于为登录请求提供服务的登录服务器。

直接调用脚本或从不同的脚本调用脚本有什么区别?我该如何解决这个问题?

0 投票
4 回答
91559 浏览

powershell - 使用 PowerShell 运行我的第三方 DLL 文件

我不确定这是否可以使用 PowerShell。

但基本上我有一个Windows 窗体程序,它配置了一个名为 EO Server 的程序。EO Server 有一个 API,我引用了 EOServerAPI.dll 来运行以下代码。

是否可以与 API DLL 文件交互并进行与在 Windows 窗体应用程序中相同类型的调用?

0 投票
1 回答
232 浏览

powershell - Powershell + 签名问题

我有两个 PS 脚本,一个在本地机器上,另一个在远程机器上。本地机器正在执行以下操作

  1. 将文件从本地机器复制到远程机器
  2. 要求远程脚本对复制到远程机器的文件进行签名(远程机器和远程脚本位于同一台机器上_
  3. 文件签名后,将签名文件复制回源文件夹

但是我在这里面临一个问题。问题是,一旦远程服务器尝试对文件进行签名,它就会给我一条消息

没有为商店或对象指定提供者

我相信这不是 powershell 错误,并且与访问问题有关,但我真的无法自己弄清楚。

远程服务器由发布工程团队管理,我不想在那里进行任何更改。

请建议

谢谢并恭祝安康

0 投票
2 回答
19475 浏览

powershell - 捕获 RPC 服务器不可用错误 HRESULT: 0x800706BA

在 powershell 中,我可以使用 Catch [System.UnauthorizedAccessException] 捕获 Access is Denied 错误。我如何同样捕获 RPC Server Unavailable 错误?

0 投票
3 回答
2684 浏览

powershell - Powershell 远程 DIR 命令输出到远程服务器

我不明白出了什么问题。如果我在命令提示符下运行此命令

它工作正常。但是如果我尝试在远程计算机上通过 powershell 运行它

我也试过

我已经尝试创建一个日志文件夹并在完全控制的情况下共享给每个人

这些似乎都不起作用,但是如果我将其更改为本地路径,它会起作用

请帮忙,谢谢。

0 投票
1 回答
974 浏览

powershell - windows powershell remoting 调用 PuTTY 失败

我在我的开发机器上启用了 Windows 远程处理,使用 FreeSSHd 和 PuTTY 作为 SFTP 服务器和客户端。我只使用公共身份验证,将私钥加载到 PuTTY 的选美中。

我使用 C# 代码(使用 Powershell 自动化程序集和命名空间)使用 Windows Powershell Remoting 来调用 PuTTY 的 PSFTP 命令行工具(在 PATH 环境系统变量中包含 PuTTY 的二进制文件夹)。

如果我打开 Windows Powershell 并执行此调用:invoke-command -computername 127.0.0.1 -filepath c:\temp\sftp\invoke.ps1

我收到一个错误:

致命:断开连接:不支持可用的身份验证方法(服务器发送:公钥)

检查 FreeSSHd 的日志时,我只看到以下内容:

  • 12-06-2011 14:12:04 IP 127.0.0.1 SSH 连接尝试。
  • 12-06-2011 14:12:04 IP 127.0.0.1 SSH 断开连接。